Previous 199869 Revisions Next

r33973 Saturday 20th December, 2014 at 00:17:21 UTC by David Haywood
start making an actual CPU core out of the arcompact disassembler, executes the first few jumps (nw)
[src/emu/cpu]cpu.mak
[src/emu/cpu/arcompact]arcompact.c arcompact.h arcompact_common.c* arcompact_common.h* arcompact_execute.c* arcompactdasm_ops.c arcompactdasm_ops.h

trunk/src/emu/cpu/arcompact/arcompact.c
r242484r242485
1919#include "emu.h"
2020#include "debugger.h"
2121#include "arcompact.h"
22#include "arcompact_common.h"
2223
2324
2425const device_type ARCA5 = &device_creator<arcompact_device>;
2526
26
2727arcompact_device::arcompact_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
2828   : cpu_device(mconfig, ARCA5, "ARCtangent-A5", tag, owner, clock, "arca5", __FILE__)
2929   , m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0) // some docs describe these as 'middle endian'?!
r242484r242485
4949
5050/*****************************************************************************/
5151
52UINT32 arcompact_device::READ32(UINT32 address)
53{
54   return m_program->read_dword(address << 2);
55}
5652
57void arcompact_device::WRITE32(UINT32 address, UINT32 data)
58{
59   m_program->write_dword(address << 2, data);
60}
61
62UINT16 arcompact_device::READ16(UINT32 address)
63{
64   return m_program->read_word(address << 1);
65}
66
67void arcompact_device::WRITE16(UINT32 address, UINT16 data)
68{
69   m_program->write_word(address << 1, data);
70}
71
72
7353/*****************************************************************************/
7454
7555void arcompact_device::device_start()
r242484r242485
8363   state_add( 0,  "PC", m_debugger_temp).callimport().callexport().formatstr("%08X");
8464   state_add(STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow();
8565
66   for (int i = 0x100; i < 0x140; i++)
67   {
68      state_add(i, regnames[i-0x100], m_debugger_temp).callimport().callexport().formatstr("%08X");
69   }
70
71
8672   m_icountptr = &m_icount;
8773}
8874
8975void arcompact_device::state_export(const device_state_entry &entry)
9076{
91   switch (entry.index())
77   int index = entry.index();
78
79   switch (index)
9280   {
9381      case 0:
94         m_debugger_temp = m_pc << 1;
82         m_debugger_temp = m_pc;
9583         break;
9684
9785      case STATE_GENPC:
98         m_debugger_temp = m_pc << 1;
86         m_debugger_temp = m_pc;
9987         break;
88
89      default:
90         if ((index >= 0x100) && (index < 0x140))
91         {
92            m_debugger_temp = m_regs[index - 0x100];
93         }
94         break;
95
10096   }
10197}
10298
10399void arcompact_device::state_import(const device_state_entry &entry)
104100{
105   switch (entry.index())
101   int index = entry.index();
102
103   switch (index)
106104   {
107105      case 0:
108         m_pc = (m_debugger_temp & 0xfffffffe) >> 1;
106         m_pc = (m_debugger_temp & 0xfffffffe);
109107         break;
108
109      default:
110         if ((index >= 0x100) && (index < 0x140))
111         {
112            m_regs[index - 0x100] = m_debugger_temp;
113         }
114         break;
110115   }
111116}
112117
113118void arcompact_device::device_reset()
114119{
115120   m_pc = 0x00000000;
121
122   m_delayactive = 0;
123   m_delayjump = 0x00000000;
116124}
117125
118126/*****************************************************************************/
r242484r242485
121129{
122130
123131}
124
125
126void arcompact_device::execute_run()
127{
128   //UINT32 lres;
129   //lres = 0;
130
131   while (m_icount > 0)
132   {
133      debugger_instruction_hook(this, m_pc<<2);
134
135      //UINT32 op = READ32(m_pc);
136
137
138      m_pc++;
139
140      m_icount--;
141   }
142
143}
trunk/src/emu/cpu/arcompact/arcompact.h
r242484r242485
99#ifndef __ARCOMPACT_H__
1010#define __ARCOMPACT_H__
1111
12#define ARCOMPACT_RETTYPE UINT32
13#define OPS_32 UINT32 op
14#define OPS_16 UINT16 op
15#define PARAMS op
16#define LIMM_REG 62
17#define ARCOMPACT_OPERATION ((op & 0xf800) >> 11)
18
19
20
1221class arcompact_device : public cpu_device
1322{
1423public:
r242484r242485
3948   virtual UINT32 disasm_max_opcode_bytes() const { return 8; }
4049   virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
4150
51
52
53   // Dispatch
54   ARCOMPACT_RETTYPE arcompact_handle00(OPS_32);
55   ARCOMPACT_RETTYPE arcompact_handle01(OPS_32);
56   ARCOMPACT_RETTYPE arcompact_handle01_00(OPS_32);
57   ARCOMPACT_RETTYPE arcompact_handle01_01(OPS_32);
58   ARCOMPACT_RETTYPE arcompact_handle01_01_00(OPS_32);
59   ARCOMPACT_RETTYPE arcompact_handle01_01_01(OPS_32);
60   ARCOMPACT_RETTYPE arcompact_handle04(OPS_32);
61   ARCOMPACT_RETTYPE arcompact_handle04_2f(OPS_32);
62   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f(OPS_32);
63   ARCOMPACT_RETTYPE arcompact_handle05(OPS_32);
64
65   ARCOMPACT_RETTYPE arcompact_handle05_2f(OPS_32);
66   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f(OPS_32);
67
68   ARCOMPACT_RETTYPE arcompact_handle0c(OPS_16);
69   ARCOMPACT_RETTYPE arcompact_handle0d(OPS_16);
70   ARCOMPACT_RETTYPE arcompact_handle0e(OPS_16);
71   ARCOMPACT_RETTYPE arcompact_handle0f(OPS_16);
72   ARCOMPACT_RETTYPE arcompact_handle0f_00(OPS_16);
73   ARCOMPACT_RETTYPE arcompact_handle0f_00_07(OPS_16);
74   ARCOMPACT_RETTYPE arcompact_handle17(OPS_16);
75   ARCOMPACT_RETTYPE arcompact_handle18(OPS_16);
76   ARCOMPACT_RETTYPE arcompact_handle18_05(OPS_16);
77   ARCOMPACT_RETTYPE arcompact_handle18_06(OPS_16);
78   ARCOMPACT_RETTYPE arcompact_handle18_07(OPS_16);
79   ARCOMPACT_RETTYPE arcompact_handle19(OPS_16);
80   ARCOMPACT_RETTYPE arcompact_handle1c(OPS_16);
81   ARCOMPACT_RETTYPE arcompact_handle1d(OPS_16);
82   ARCOMPACT_RETTYPE arcompact_handle1e(OPS_16);
83   ARCOMPACT_RETTYPE arcompact_handle1e_03(OPS_16);
84
85   // Handler
86
87   ARCOMPACT_RETTYPE arcompact_handle00_00(OPS_32);
88   ARCOMPACT_RETTYPE arcompact_handle00_01(OPS_32);
89   ARCOMPACT_RETTYPE arcompact_handle01_00_00dasm(OPS_32);
90   ARCOMPACT_RETTYPE arcompact_handle01_00_01dasm(OPS_32);
91   ARCOMPACT_RETTYPE arcompact_handle01_01_00_00(OPS_32);
92   ARCOMPACT_RETTYPE arcompact_handle01_01_00_01(OPS_32);
93   ARCOMPACT_RETTYPE arcompact_handle01_01_00_02(OPS_32);
94   ARCOMPACT_RETTYPE arcompact_handle01_01_00_03(OPS_32);
95   ARCOMPACT_RETTYPE arcompact_handle01_01_00_04(OPS_32);
96   ARCOMPACT_RETTYPE arcompact_handle01_01_00_05(OPS_32);
97   ARCOMPACT_RETTYPE arcompact_handle01_01_00_0e(OPS_32);
98   ARCOMPACT_RETTYPE arcompact_handle01_01_00_0f(OPS_32);
99   ARCOMPACT_RETTYPE arcompact_handle01_01_01_00(OPS_32);
100   ARCOMPACT_RETTYPE arcompact_handle01_01_01_01(OPS_32);
101   ARCOMPACT_RETTYPE arcompact_handle01_01_01_02(OPS_32);
102   ARCOMPACT_RETTYPE arcompact_handle01_01_01_03(OPS_32);
103   ARCOMPACT_RETTYPE arcompact_handle01_01_01_04(OPS_32);
104   ARCOMPACT_RETTYPE arcompact_handle01_01_01_05(OPS_32);
105   ARCOMPACT_RETTYPE arcompact_handle01_01_01_0e(OPS_32);
106   ARCOMPACT_RETTYPE arcompact_handle01_01_01_0f(OPS_32);
107   ARCOMPACT_RETTYPE arcompact_handle02(OPS_32);
108   ARCOMPACT_RETTYPE arcompact_handle03(OPS_32);
109   ARCOMPACT_RETTYPE arcompact_handle04_00(OPS_32);
110   ARCOMPACT_RETTYPE arcompact_handle04_01(OPS_32);
111   ARCOMPACT_RETTYPE arcompact_handle04_02(OPS_32);
112   ARCOMPACT_RETTYPE arcompact_handle04_03(OPS_32);
113   ARCOMPACT_RETTYPE arcompact_handle04_04(OPS_32);
114   ARCOMPACT_RETTYPE arcompact_handle04_05(OPS_32);
115   ARCOMPACT_RETTYPE arcompact_handle04_06(OPS_32);
116   ARCOMPACT_RETTYPE arcompact_handle04_07(OPS_32);
117   ARCOMPACT_RETTYPE arcompact_handle04_08(OPS_32);
118   ARCOMPACT_RETTYPE arcompact_handle04_09(OPS_32);
119   ARCOMPACT_RETTYPE arcompact_handle04_0a(OPS_32);
120   ARCOMPACT_RETTYPE arcompact_handle04_0b(OPS_32);
121   ARCOMPACT_RETTYPE arcompact_handle04_0c(OPS_32);
122   ARCOMPACT_RETTYPE arcompact_handle04_0d(OPS_32);
123   ARCOMPACT_RETTYPE arcompact_handle04_0e(OPS_32);
124   ARCOMPACT_RETTYPE arcompact_handle04_0f(OPS_32);
125   ARCOMPACT_RETTYPE arcompact_handle04_10(OPS_32);
126   ARCOMPACT_RETTYPE arcompact_handle04_11(OPS_32);
127   ARCOMPACT_RETTYPE arcompact_handle04_12(OPS_32);
128   ARCOMPACT_RETTYPE arcompact_handle04_13(OPS_32);
129   ARCOMPACT_RETTYPE arcompact_handle04_14(OPS_32);
130   ARCOMPACT_RETTYPE arcompact_handle04_15(OPS_32);
131   ARCOMPACT_RETTYPE arcompact_handle04_16(OPS_32);
132   ARCOMPACT_RETTYPE arcompact_handle04_17(OPS_32);
133   ARCOMPACT_RETTYPE arcompact_handle04_18(OPS_32);
134   ARCOMPACT_RETTYPE arcompact_handle04_19(OPS_32);
135   ARCOMPACT_RETTYPE arcompact_handle04_1a(OPS_32);
136   ARCOMPACT_RETTYPE arcompact_handle04_1b(OPS_32);
137   ARCOMPACT_RETTYPE arcompact_handle04_1c(OPS_32);
138   ARCOMPACT_RETTYPE arcompact_handle04_1d(OPS_32);
139   ARCOMPACT_RETTYPE arcompact_handle04_20(OPS_32);
140   ARCOMPACT_RETTYPE arcompact_handle04_21(OPS_32);
141   ARCOMPACT_RETTYPE arcompact_handle04_22(OPS_32);
142   ARCOMPACT_RETTYPE arcompact_handle04_23(OPS_32);
143   ARCOMPACT_RETTYPE arcompact_handle04_28(OPS_32);
144   ARCOMPACT_RETTYPE arcompact_handle04_29(OPS_32);
145   ARCOMPACT_RETTYPE arcompact_handle04_2a(OPS_32);
146   ARCOMPACT_RETTYPE arcompact_handle04_2b(OPS_32);
147   ARCOMPACT_RETTYPE arcompact_handle04_2f_00(OPS_32);
148   ARCOMPACT_RETTYPE arcompact_handle04_2f_01(OPS_32);
149   ARCOMPACT_RETTYPE arcompact_handle04_2f_02(OPS_32);
150   ARCOMPACT_RETTYPE arcompact_handle04_2f_03(OPS_32);
151   ARCOMPACT_RETTYPE arcompact_handle04_2f_04(OPS_32);
152   ARCOMPACT_RETTYPE arcompact_handle04_2f_05(OPS_32);
153   ARCOMPACT_RETTYPE arcompact_handle04_2f_06(OPS_32);
154   ARCOMPACT_RETTYPE arcompact_handle04_2f_07(OPS_32);
155   ARCOMPACT_RETTYPE arcompact_handle04_2f_08(OPS_32);
156   ARCOMPACT_RETTYPE arcompact_handle04_2f_09(OPS_32);
157   ARCOMPACT_RETTYPE arcompact_handle04_2f_0a(OPS_32);
158   ARCOMPACT_RETTYPE arcompact_handle04_2f_0b(OPS_32);
159   ARCOMPACT_RETTYPE arcompact_handle04_2f_0c(OPS_32);
160   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_01(OPS_32);
161   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_02(OPS_32);
162   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_03(OPS_32);
163   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_04(OPS_32);
164   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_05(OPS_32);
165   ARCOMPACT_RETTYPE arcompact_handle04_30(OPS_32);
166   ARCOMPACT_RETTYPE arcompact_handle04_31(OPS_32);
167   ARCOMPACT_RETTYPE arcompact_handle04_32(OPS_32);
168   ARCOMPACT_RETTYPE arcompact_handle04_33(OPS_32);
169   ARCOMPACT_RETTYPE arcompact_handle04_34(OPS_32);
170   ARCOMPACT_RETTYPE arcompact_handle04_35(OPS_32);
171   ARCOMPACT_RETTYPE arcompact_handle04_36(OPS_32);
172   ARCOMPACT_RETTYPE arcompact_handle04_37(OPS_32);
173   ARCOMPACT_RETTYPE arcompact_handle05_00(OPS_32);
174   ARCOMPACT_RETTYPE arcompact_handle05_01(OPS_32);
175   ARCOMPACT_RETTYPE arcompact_handle05_02(OPS_32);
176   ARCOMPACT_RETTYPE arcompact_handle05_03(OPS_32);
177   ARCOMPACT_RETTYPE arcompact_handle05_04(OPS_32);
178   ARCOMPACT_RETTYPE arcompact_handle05_05(OPS_32);
179   ARCOMPACT_RETTYPE arcompact_handle05_06(OPS_32);
180   ARCOMPACT_RETTYPE arcompact_handle05_07(OPS_32);
181   ARCOMPACT_RETTYPE arcompact_handle05_08(OPS_32);
182   ARCOMPACT_RETTYPE arcompact_handle05_0a(OPS_32);
183   ARCOMPACT_RETTYPE arcompact_handle05_0b(OPS_32);
184   ARCOMPACT_RETTYPE arcompact_handle05_28(OPS_32);
185   ARCOMPACT_RETTYPE arcompact_handle05_29(OPS_32);
186
187   ARCOMPACT_RETTYPE arcompact_handle06(OPS_32);
188   ARCOMPACT_RETTYPE arcompact_handle07(OPS_32);
189   ARCOMPACT_RETTYPE arcompact_handle08(OPS_32);
190   ARCOMPACT_RETTYPE arcompact_handle09(OPS_32);
191   ARCOMPACT_RETTYPE arcompact_handle0a(OPS_32);
192   ARCOMPACT_RETTYPE arcompact_handle0b(OPS_32);
193
194   ARCOMPACT_RETTYPE arcompact_handle0c_00(OPS_16);
195   ARCOMPACT_RETTYPE arcompact_handle0c_01(OPS_16);
196   ARCOMPACT_RETTYPE arcompact_handle0c_02(OPS_16);
197   ARCOMPACT_RETTYPE arcompact_handle0c_03(OPS_16);
198   ARCOMPACT_RETTYPE arcompact_handle0d_00(OPS_16);
199   ARCOMPACT_RETTYPE arcompact_handle0d_01(OPS_16);
200   ARCOMPACT_RETTYPE arcompact_handle0d_02(OPS_16);
201   ARCOMPACT_RETTYPE arcompact_handle0d_03(OPS_16);
202   ARCOMPACT_RETTYPE arcompact_handle0e_00(OPS_16);
203   ARCOMPACT_RETTYPE arcompact_handle0e_01(OPS_16);
204   ARCOMPACT_RETTYPE arcompact_handle0e_02(OPS_16);
205   ARCOMPACT_RETTYPE arcompact_handle0e_03(OPS_16);
206   ARCOMPACT_RETTYPE arcompact_handle0f_00_00(OPS_16);
207   ARCOMPACT_RETTYPE arcompact_handle0f_00_01(OPS_16);
208   ARCOMPACT_RETTYPE arcompact_handle0f_00_02(OPS_16);
209   ARCOMPACT_RETTYPE arcompact_handle0f_00_03(OPS_16);
210   ARCOMPACT_RETTYPE arcompact_handle0f_00_06(OPS_16);
211   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_00(OPS_16);
212   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_01(OPS_16);
213   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_04(OPS_16);
214   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_05(OPS_16);
215   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_06(OPS_16);
216   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_07(OPS_16);
217   ARCOMPACT_RETTYPE arcompact_handle0f_02(OPS_16);
218   ARCOMPACT_RETTYPE arcompact_handle0f_04(OPS_16);
219   ARCOMPACT_RETTYPE arcompact_handle0f_05(OPS_16);
220   ARCOMPACT_RETTYPE arcompact_handle0f_06(OPS_16);
221   ARCOMPACT_RETTYPE arcompact_handle0f_07(OPS_16);
222   ARCOMPACT_RETTYPE arcompact_handle0f_0b(OPS_16);
223   ARCOMPACT_RETTYPE arcompact_handle0f_0c(OPS_16);
224   ARCOMPACT_RETTYPE arcompact_handle0f_0d(OPS_16);
225   ARCOMPACT_RETTYPE arcompact_handle0f_0e(OPS_16);
226   ARCOMPACT_RETTYPE arcompact_handle0f_0f(OPS_16);
227   ARCOMPACT_RETTYPE arcompact_handle0f_10(OPS_16);
228   ARCOMPACT_RETTYPE arcompact_handle0f_11(OPS_16);
229   ARCOMPACT_RETTYPE arcompact_handle0f_12(OPS_16);
230   ARCOMPACT_RETTYPE arcompact_handle0f_13(OPS_16);
231   ARCOMPACT_RETTYPE arcompact_handle0f_14(OPS_16);
232   ARCOMPACT_RETTYPE arcompact_handle0f_15(OPS_16);
233   ARCOMPACT_RETTYPE arcompact_handle0f_16(OPS_16);
234   ARCOMPACT_RETTYPE arcompact_handle0f_18(OPS_16);
235   ARCOMPACT_RETTYPE arcompact_handle0f_19(OPS_16);
236   ARCOMPACT_RETTYPE arcompact_handle0f_1a(OPS_16);
237   ARCOMPACT_RETTYPE arcompact_handle0f_1b(OPS_16);
238   ARCOMPACT_RETTYPE arcompact_handle0f_1c(OPS_16);
239   ARCOMPACT_RETTYPE arcompact_handle0f_1d(OPS_16);
240   ARCOMPACT_RETTYPE arcompact_handle0f_1e(OPS_16);
241   ARCOMPACT_RETTYPE arcompact_handle0f_1f(OPS_16);
242   ARCOMPACT_RETTYPE arcompact_handle10(OPS_16);
243   ARCOMPACT_RETTYPE arcompact_handle11(OPS_16);
244   ARCOMPACT_RETTYPE arcompact_handle12(OPS_16);
245   ARCOMPACT_RETTYPE arcompact_handle13(OPS_16);
246   ARCOMPACT_RETTYPE arcompact_handle14(OPS_16);
247   ARCOMPACT_RETTYPE arcompact_handle15(OPS_16);
248   ARCOMPACT_RETTYPE arcompact_handle16(OPS_16);
249   ARCOMPACT_RETTYPE arcompact_handle17_00(OPS_16);
250   ARCOMPACT_RETTYPE arcompact_handle17_01(OPS_16);
251   ARCOMPACT_RETTYPE arcompact_handle17_02(OPS_16);
252   ARCOMPACT_RETTYPE arcompact_handle17_03(OPS_16);
253   ARCOMPACT_RETTYPE arcompact_handle17_04(OPS_16);
254   ARCOMPACT_RETTYPE arcompact_handle17_05(OPS_16);
255   ARCOMPACT_RETTYPE arcompact_handle17_06(OPS_16);
256   ARCOMPACT_RETTYPE arcompact_handle17_07(OPS_16);
257   ARCOMPACT_RETTYPE arcompact_handle18_00(OPS_16);
258   ARCOMPACT_RETTYPE arcompact_handle18_01(OPS_16);
259   ARCOMPACT_RETTYPE arcompact_handle18_02(OPS_16);
260   ARCOMPACT_RETTYPE arcompact_handle18_03(OPS_16);
261   ARCOMPACT_RETTYPE arcompact_handle18_04(OPS_16);
262   ARCOMPACT_RETTYPE arcompact_handle18_05_00(OPS_16);
263   ARCOMPACT_RETTYPE arcompact_handle18_05_01(OPS_16);
264   ARCOMPACT_RETTYPE arcompact_handle18_06_01(OPS_16);
265   ARCOMPACT_RETTYPE arcompact_handle18_06_11(OPS_16);
266   ARCOMPACT_RETTYPE arcompact_handle18_07_01(OPS_16);
267   ARCOMPACT_RETTYPE arcompact_handle18_07_11(OPS_16);
268   ARCOMPACT_RETTYPE arcompact_handle19_00(OPS_16);
269   ARCOMPACT_RETTYPE arcompact_handle19_01(OPS_16);
270   ARCOMPACT_RETTYPE arcompact_handle19_02(OPS_16);
271   ARCOMPACT_RETTYPE arcompact_handle19_03(OPS_16);
272   ARCOMPACT_RETTYPE arcompact_handle1a(OPS_16);
273   ARCOMPACT_RETTYPE arcompact_handle1b(OPS_16);
274   ARCOMPACT_RETTYPE arcompact_handle1c_00(OPS_16);
275   ARCOMPACT_RETTYPE arcompact_handle1c_01(OPS_16);
276   ARCOMPACT_RETTYPE arcompact_handle1d_00(OPS_16);
277   ARCOMPACT_RETTYPE arcompact_handle1d_01(OPS_16);
278   ARCOMPACT_RETTYPE arcompact_handle1e_00(OPS_16);
279   ARCOMPACT_RETTYPE arcompact_handle1e_01(OPS_16);
280   ARCOMPACT_RETTYPE arcompact_handle1e_02(OPS_16);
281   ARCOMPACT_RETTYPE arcompact_handle1e_03_00(OPS_16);
282   ARCOMPACT_RETTYPE arcompact_handle1e_03_01(OPS_16);
283   ARCOMPACT_RETTYPE arcompact_handle1e_03_02(OPS_16);
284   ARCOMPACT_RETTYPE arcompact_handle1e_03_03(OPS_16);
285   ARCOMPACT_RETTYPE arcompact_handle1e_03_04(OPS_16);
286   ARCOMPACT_RETTYPE arcompact_handle1e_03_05(OPS_16);
287   ARCOMPACT_RETTYPE arcompact_handle1e_03_06(OPS_16);
288   ARCOMPACT_RETTYPE arcompact_handle1e_03_07(OPS_16);
289   ARCOMPACT_RETTYPE arcompact_handle1f(OPS_16);
290
291   /************************************************************************************************************************************
292   *                                                                                                                                   *
293   * illegal opcode handlers (disassembly)                                                                                             *
294   *                                                                                                                                   *
295   ************************************************************************************************************************************/
296
297   ARCOMPACT_RETTYPE arcompact_handle01_01_00_06(OPS_32);
298   ARCOMPACT_RETTYPE arcompact_handle01_01_00_07(OPS_32);
299   ARCOMPACT_RETTYPE arcompact_handle01_01_00_08(OPS_32);
300   ARCOMPACT_RETTYPE arcompact_handle01_01_00_09(OPS_32);
301   ARCOMPACT_RETTYPE arcompact_handle01_01_00_0a(OPS_32);
302   ARCOMPACT_RETTYPE arcompact_handle01_01_00_0b(OPS_32);
303   ARCOMPACT_RETTYPE arcompact_handle01_01_00_0c(OPS_32);
304   ARCOMPACT_RETTYPE arcompact_handle01_01_00_0d(OPS_32);
305
306   ARCOMPACT_RETTYPE arcompact_handle01_01_01_06(OPS_32);
307   ARCOMPACT_RETTYPE arcompact_handle01_01_01_07(OPS_32);
308   ARCOMPACT_RETTYPE arcompact_handle01_01_01_08(OPS_32);
309   ARCOMPACT_RETTYPE arcompact_handle01_01_01_09(OPS_32);
310   ARCOMPACT_RETTYPE arcompact_handle01_01_01_0a(OPS_32);
311   ARCOMPACT_RETTYPE arcompact_handle01_01_01_0b(OPS_32);
312   ARCOMPACT_RETTYPE arcompact_handle01_01_01_0c(OPS_32);
313   ARCOMPACT_RETTYPE arcompact_handle01_01_01_0d(OPS_32);
314
315
316   ARCOMPACT_RETTYPE arcompact_handle04_1e(OPS_32);
317   ARCOMPACT_RETTYPE arcompact_handle04_1f(OPS_32);
318
319   ARCOMPACT_RETTYPE arcompact_handle04_24(OPS_32);
320   ARCOMPACT_RETTYPE arcompact_handle04_25(OPS_32);
321   ARCOMPACT_RETTYPE arcompact_handle04_26(OPS_32);
322   ARCOMPACT_RETTYPE arcompact_handle04_27(OPS_32);
323
324   ARCOMPACT_RETTYPE arcompact_handle04_2c(OPS_32);
325   ARCOMPACT_RETTYPE arcompact_handle04_2d(OPS_32);
326   ARCOMPACT_RETTYPE arcompact_handle04_2e(OPS_32);
327
328   ARCOMPACT_RETTYPE arcompact_handle04_2f_0d(OPS_32);
329   ARCOMPACT_RETTYPE arcompact_handle04_2f_0e(OPS_32);
330   ARCOMPACT_RETTYPE arcompact_handle04_2f_0f(OPS_32);
331   ARCOMPACT_RETTYPE arcompact_handle04_2f_10(OPS_32);
332   ARCOMPACT_RETTYPE arcompact_handle04_2f_11(OPS_32);
333   ARCOMPACT_RETTYPE arcompact_handle04_2f_12(OPS_32);
334   ARCOMPACT_RETTYPE arcompact_handle04_2f_13(OPS_32);
335   ARCOMPACT_RETTYPE arcompact_handle04_2f_14(OPS_32);
336   ARCOMPACT_RETTYPE arcompact_handle04_2f_15(OPS_32);
337   ARCOMPACT_RETTYPE arcompact_handle04_2f_16(OPS_32);
338   ARCOMPACT_RETTYPE arcompact_handle04_2f_17(OPS_32);
339   ARCOMPACT_RETTYPE arcompact_handle04_2f_18(OPS_32);
340   ARCOMPACT_RETTYPE arcompact_handle04_2f_19(OPS_32);
341   ARCOMPACT_RETTYPE arcompact_handle04_2f_1a(OPS_32);
342   ARCOMPACT_RETTYPE arcompact_handle04_2f_1b(OPS_32);
343   ARCOMPACT_RETTYPE arcompact_handle04_2f_1c(OPS_32);
344   ARCOMPACT_RETTYPE arcompact_handle04_2f_1d(OPS_32);
345   ARCOMPACT_RETTYPE arcompact_handle04_2f_1e(OPS_32);
346   ARCOMPACT_RETTYPE arcompact_handle04_2f_1f(OPS_32);
347   ARCOMPACT_RETTYPE arcompact_handle04_2f_20(OPS_32);
348   ARCOMPACT_RETTYPE arcompact_handle04_2f_21(OPS_32);
349   ARCOMPACT_RETTYPE arcompact_handle04_2f_22(OPS_32);
350   ARCOMPACT_RETTYPE arcompact_handle04_2f_23(OPS_32);
351   ARCOMPACT_RETTYPE arcompact_handle04_2f_24(OPS_32);
352   ARCOMPACT_RETTYPE arcompact_handle04_2f_25(OPS_32);
353   ARCOMPACT_RETTYPE arcompact_handle04_2f_26(OPS_32);
354   ARCOMPACT_RETTYPE arcompact_handle04_2f_27(OPS_32);
355   ARCOMPACT_RETTYPE arcompact_handle04_2f_28(OPS_32);
356   ARCOMPACT_RETTYPE arcompact_handle04_2f_29(OPS_32);
357   ARCOMPACT_RETTYPE arcompact_handle04_2f_2a(OPS_32);
358   ARCOMPACT_RETTYPE arcompact_handle04_2f_2b(OPS_32);
359   ARCOMPACT_RETTYPE arcompact_handle04_2f_2c(OPS_32);
360   ARCOMPACT_RETTYPE arcompact_handle04_2f_2d(OPS_32);
361   ARCOMPACT_RETTYPE arcompact_handle04_2f_2e(OPS_32);
362   ARCOMPACT_RETTYPE arcompact_handle04_2f_2f(OPS_32);
363   ARCOMPACT_RETTYPE arcompact_handle04_2f_30(OPS_32);
364   ARCOMPACT_RETTYPE arcompact_handle04_2f_31(OPS_32);
365   ARCOMPACT_RETTYPE arcompact_handle04_2f_32(OPS_32);
366   ARCOMPACT_RETTYPE arcompact_handle04_2f_33(OPS_32);
367   ARCOMPACT_RETTYPE arcompact_handle04_2f_34(OPS_32);
368   ARCOMPACT_RETTYPE arcompact_handle04_2f_35(OPS_32);
369   ARCOMPACT_RETTYPE arcompact_handle04_2f_36(OPS_32);
370   ARCOMPACT_RETTYPE arcompact_handle04_2f_37(OPS_32);
371   ARCOMPACT_RETTYPE arcompact_handle04_2f_38(OPS_32);
372   ARCOMPACT_RETTYPE arcompact_handle04_2f_39(OPS_32);
373   ARCOMPACT_RETTYPE arcompact_handle04_2f_3a(OPS_32);
374   ARCOMPACT_RETTYPE arcompact_handle04_2f_3b(OPS_32);
375   ARCOMPACT_RETTYPE arcompact_handle04_2f_3c(OPS_32);
376   ARCOMPACT_RETTYPE arcompact_handle04_2f_3d(OPS_32);
377   ARCOMPACT_RETTYPE arcompact_handle04_2f_3e(OPS_32);
378
379   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_00(OPS_32);
380   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_06(OPS_32);
381   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_07(OPS_32);
382   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_08(OPS_32);
383   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_09(OPS_32);
384   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_0a(OPS_32);
385   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_0b(OPS_32);
386   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_0c(OPS_32);
387   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_0d(OPS_32);
388   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_0e(OPS_32);
389   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_0f(OPS_32);
390   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_10(OPS_32);
391   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_11(OPS_32);
392   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_12(OPS_32);
393   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_13(OPS_32);
394   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_14(OPS_32);
395   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_15(OPS_32);
396   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_16(OPS_32);
397   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_17(OPS_32);
398   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_18(OPS_32);
399   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_19(OPS_32);
400   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_1a(OPS_32);
401   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_1b(OPS_32);
402   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_1c(OPS_32);
403   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_1d(OPS_32);
404   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_1e(OPS_32);
405   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_1f(OPS_32);
406   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_20(OPS_32);
407   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_21(OPS_32);
408   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_22(OPS_32);
409   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_23(OPS_32);
410   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_24(OPS_32);
411   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_25(OPS_32);
412   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_26(OPS_32);
413   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_27(OPS_32);
414   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_28(OPS_32);
415   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_29(OPS_32);
416   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_2a(OPS_32);
417   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_2b(OPS_32);
418   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_2c(OPS_32);
419   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_2d(OPS_32);
420   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_2e(OPS_32);
421   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_2f(OPS_32);
422   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_30(OPS_32);
423   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_31(OPS_32);
424   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_32(OPS_32);
425   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_33(OPS_32);
426   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_34(OPS_32);
427   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_35(OPS_32);
428   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_36(OPS_32);
429   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_37(OPS_32);
430   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_38(OPS_32);
431   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_39(OPS_32);
432   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_3a(OPS_32);
433   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_3b(OPS_32);
434   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_3c(OPS_32);
435   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_3d(OPS_32);
436   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_3e(OPS_32);
437   ARCOMPACT_RETTYPE arcompact_handle04_2f_3f_3f(OPS_32);
438
439   ARCOMPACT_RETTYPE arcompact_handle05_2f_00(OPS_32);
440   ARCOMPACT_RETTYPE arcompact_handle05_2f_01(OPS_32);
441   ARCOMPACT_RETTYPE arcompact_handle05_2f_02(OPS_32);
442   ARCOMPACT_RETTYPE arcompact_handle05_2f_03(OPS_32);
443   ARCOMPACT_RETTYPE arcompact_handle05_2f_04(OPS_32);
444   ARCOMPACT_RETTYPE arcompact_handle05_2f_05(OPS_32);
445   ARCOMPACT_RETTYPE arcompact_handle05_2f_06(OPS_32);
446   ARCOMPACT_RETTYPE arcompact_handle05_2f_07(OPS_32);
447   ARCOMPACT_RETTYPE arcompact_handle05_2f_08(OPS_32);
448   ARCOMPACT_RETTYPE arcompact_handle05_2f_09(OPS_32);
449   ARCOMPACT_RETTYPE arcompact_handle05_2f_0a(OPS_32);
450   ARCOMPACT_RETTYPE arcompact_handle05_2f_0b(OPS_32);
451   ARCOMPACT_RETTYPE arcompact_handle05_2f_0c(OPS_32);
452   ARCOMPACT_RETTYPE arcompact_handle05_2f_0d(OPS_32);
453   ARCOMPACT_RETTYPE arcompact_handle05_2f_0e(OPS_32);
454   ARCOMPACT_RETTYPE arcompact_handle05_2f_0f(OPS_32);
455   ARCOMPACT_RETTYPE arcompact_handle05_2f_10(OPS_32);
456   ARCOMPACT_RETTYPE arcompact_handle05_2f_11(OPS_32);
457   ARCOMPACT_RETTYPE arcompact_handle05_2f_12(OPS_32);
458   ARCOMPACT_RETTYPE arcompact_handle05_2f_13(OPS_32);
459   ARCOMPACT_RETTYPE arcompact_handle05_2f_14(OPS_32);
460   ARCOMPACT_RETTYPE arcompact_handle05_2f_15(OPS_32);
461   ARCOMPACT_RETTYPE arcompact_handle05_2f_16(OPS_32);
462   ARCOMPACT_RETTYPE arcompact_handle05_2f_17(OPS_32);
463   ARCOMPACT_RETTYPE arcompact_handle05_2f_18(OPS_32);
464   ARCOMPACT_RETTYPE arcompact_handle05_2f_19(OPS_32);
465   ARCOMPACT_RETTYPE arcompact_handle05_2f_1a(OPS_32);
466   ARCOMPACT_RETTYPE arcompact_handle05_2f_1b(OPS_32);
467   ARCOMPACT_RETTYPE arcompact_handle05_2f_1c(OPS_32);
468   ARCOMPACT_RETTYPE arcompact_handle05_2f_1d(OPS_32);
469   ARCOMPACT_RETTYPE arcompact_handle05_2f_1e(OPS_32);
470   ARCOMPACT_RETTYPE arcompact_handle05_2f_1f(OPS_32);
471   ARCOMPACT_RETTYPE arcompact_handle05_2f_20(OPS_32);
472   ARCOMPACT_RETTYPE arcompact_handle05_2f_21(OPS_32);
473   ARCOMPACT_RETTYPE arcompact_handle05_2f_22(OPS_32);
474   ARCOMPACT_RETTYPE arcompact_handle05_2f_23(OPS_32);
475   ARCOMPACT_RETTYPE arcompact_handle05_2f_24(OPS_32);
476   ARCOMPACT_RETTYPE arcompact_handle05_2f_25(OPS_32);
477   ARCOMPACT_RETTYPE arcompact_handle05_2f_26(OPS_32);
478   ARCOMPACT_RETTYPE arcompact_handle05_2f_27(OPS_32);
479   ARCOMPACT_RETTYPE arcompact_handle05_2f_28(OPS_32);
480   ARCOMPACT_RETTYPE arcompact_handle05_2f_29(OPS_32);
481   ARCOMPACT_RETTYPE arcompact_handle05_2f_2a(OPS_32);
482   ARCOMPACT_RETTYPE arcompact_handle05_2f_2b(OPS_32);
483   ARCOMPACT_RETTYPE arcompact_handle05_2f_2c(OPS_32);
484   ARCOMPACT_RETTYPE arcompact_handle05_2f_2d(OPS_32);
485   ARCOMPACT_RETTYPE arcompact_handle05_2f_2e(OPS_32);
486   ARCOMPACT_RETTYPE arcompact_handle05_2f_2f(OPS_32);
487   ARCOMPACT_RETTYPE arcompact_handle05_2f_30(OPS_32);
488   ARCOMPACT_RETTYPE arcompact_handle05_2f_31(OPS_32);
489   ARCOMPACT_RETTYPE arcompact_handle05_2f_32(OPS_32);
490   ARCOMPACT_RETTYPE arcompact_handle05_2f_33(OPS_32);
491   ARCOMPACT_RETTYPE arcompact_handle05_2f_34(OPS_32);
492   ARCOMPACT_RETTYPE arcompact_handle05_2f_35(OPS_32);
493   ARCOMPACT_RETTYPE arcompact_handle05_2f_36(OPS_32);
494   ARCOMPACT_RETTYPE arcompact_handle05_2f_37(OPS_32);
495   ARCOMPACT_RETTYPE arcompact_handle05_2f_38(OPS_32);
496   ARCOMPACT_RETTYPE arcompact_handle05_2f_39(OPS_32);
497   ARCOMPACT_RETTYPE arcompact_handle05_2f_3a(OPS_32);
498   ARCOMPACT_RETTYPE arcompact_handle05_2f_3b(OPS_32);
499   ARCOMPACT_RETTYPE arcompact_handle05_2f_3c(OPS_32);
500   ARCOMPACT_RETTYPE arcompact_handle05_2f_3d(OPS_32);
501   ARCOMPACT_RETTYPE arcompact_handle05_2f_3e(OPS_32);
502
503   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_00(OPS_32);
504   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_01(OPS_32);
505   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_02(OPS_32);
506   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_03(OPS_32);
507   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_04(OPS_32);
508   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_05(OPS_32);
509   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_06(OPS_32);
510   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_07(OPS_32);
511   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_08(OPS_32);
512   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_09(OPS_32);
513   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_0a(OPS_32);
514   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_0b(OPS_32);
515   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_0c(OPS_32);
516   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_0d(OPS_32);
517   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_0e(OPS_32);
518   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_0f(OPS_32);
519   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_10(OPS_32);
520   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_11(OPS_32);
521   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_12(OPS_32);
522   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_13(OPS_32);
523   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_14(OPS_32);
524   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_15(OPS_32);
525   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_16(OPS_32);
526   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_17(OPS_32);
527   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_18(OPS_32);
528   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_19(OPS_32);
529   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_1a(OPS_32);
530   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_1b(OPS_32);
531   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_1c(OPS_32);
532   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_1d(OPS_32);
533   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_1e(OPS_32);
534   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_1f(OPS_32);
535   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_20(OPS_32);
536   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_21(OPS_32);
537   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_22(OPS_32);
538   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_23(OPS_32);
539   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_24(OPS_32);
540   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_25(OPS_32);
541   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_26(OPS_32);
542   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_27(OPS_32);
543   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_28(OPS_32);
544   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_29(OPS_32);
545   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_2a(OPS_32);
546   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_2b(OPS_32);
547   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_2c(OPS_32);
548   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_2d(OPS_32);
549   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_2e(OPS_32);
550   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_2f(OPS_32);
551   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_30(OPS_32);
552   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_31(OPS_32);
553   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_32(OPS_32);
554   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_33(OPS_32);
555   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_34(OPS_32);
556   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_35(OPS_32);
557   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_36(OPS_32);
558   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_37(OPS_32);
559   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_38(OPS_32);
560   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_39(OPS_32);
561   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_3a(OPS_32);
562   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_3b(OPS_32);
563   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_3c(OPS_32);
564   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_3d(OPS_32);
565   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_3e(OPS_32);
566   ARCOMPACT_RETTYPE arcompact_handle05_2f_3f_3f(OPS_32);
567
568
569   ARCOMPACT_RETTYPE arcompact_handle04_38(OPS_32);
570   ARCOMPACT_RETTYPE arcompact_handle04_39(OPS_32);
571   ARCOMPACT_RETTYPE arcompact_handle04_3a(OPS_32);
572   ARCOMPACT_RETTYPE arcompact_handle04_3b(OPS_32);
573   ARCOMPACT_RETTYPE arcompact_handle04_3c(OPS_32);
574   ARCOMPACT_RETTYPE arcompact_handle04_3d(OPS_32);
575   ARCOMPACT_RETTYPE arcompact_handle04_3e(OPS_32);
576   ARCOMPACT_RETTYPE arcompact_handle04_3f(OPS_32);
577
578   ARCOMPACT_RETTYPE arcompact_handle05_09(OPS_32);
579   ARCOMPACT_RETTYPE arcompact_handle05_0c(OPS_32);
580   ARCOMPACT_RETTYPE arcompact_handle05_0d(OPS_32);
581   ARCOMPACT_RETTYPE arcompact_handle05_0e(OPS_32);
582   ARCOMPACT_RETTYPE arcompact_handle05_0f(OPS_32);
583   ARCOMPACT_RETTYPE arcompact_handle05_10(OPS_32);
584   ARCOMPACT_RETTYPE arcompact_handle05_11(OPS_32);
585   ARCOMPACT_RETTYPE arcompact_handle05_12(OPS_32);
586   ARCOMPACT_RETTYPE arcompact_handle05_13(OPS_32);
587   ARCOMPACT_RETTYPE arcompact_handle05_14(OPS_32);
588   ARCOMPACT_RETTYPE arcompact_handle05_15(OPS_32);
589   ARCOMPACT_RETTYPE arcompact_handle05_16(OPS_32);
590   ARCOMPACT_RETTYPE arcompact_handle05_17(OPS_32);
591   ARCOMPACT_RETTYPE arcompact_handle05_18(OPS_32);
592   ARCOMPACT_RETTYPE arcompact_handle05_19(OPS_32);
593   ARCOMPACT_RETTYPE arcompact_handle05_1a(OPS_32);
594   ARCOMPACT_RETTYPE arcompact_handle05_1b(OPS_32);
595   ARCOMPACT_RETTYPE arcompact_handle05_1c(OPS_32);
596   ARCOMPACT_RETTYPE arcompact_handle05_1d(OPS_32);
597   ARCOMPACT_RETTYPE arcompact_handle05_1e(OPS_32);
598   ARCOMPACT_RETTYPE arcompact_handle05_1f(OPS_32);
599   ARCOMPACT_RETTYPE arcompact_handle05_20(OPS_32);
600   ARCOMPACT_RETTYPE arcompact_handle05_21(OPS_32);
601   ARCOMPACT_RETTYPE arcompact_handle05_22(OPS_32);
602   ARCOMPACT_RETTYPE arcompact_handle05_23(OPS_32);
603   ARCOMPACT_RETTYPE arcompact_handle05_24(OPS_32);
604   ARCOMPACT_RETTYPE arcompact_handle05_25(OPS_32);
605   ARCOMPACT_RETTYPE arcompact_handle05_26(OPS_32);
606   ARCOMPACT_RETTYPE arcompact_handle05_27(OPS_32);
607
608   ARCOMPACT_RETTYPE arcompact_handle05_2a(OPS_32);
609   ARCOMPACT_RETTYPE arcompact_handle05_2b(OPS_32);
610   ARCOMPACT_RETTYPE arcompact_handle05_2c(OPS_32);
611   ARCOMPACT_RETTYPE arcompact_handle05_2d(OPS_32);
612   ARCOMPACT_RETTYPE arcompact_handle05_2e(OPS_32);
613
614   ARCOMPACT_RETTYPE arcompact_handle05_30(OPS_32);
615   ARCOMPACT_RETTYPE arcompact_handle05_31(OPS_32);
616   ARCOMPACT_RETTYPE arcompact_handle05_32(OPS_32);
617   ARCOMPACT_RETTYPE arcompact_handle05_33(OPS_32);
618   ARCOMPACT_RETTYPE arcompact_handle05_34(OPS_32);
619   ARCOMPACT_RETTYPE arcompact_handle05_35(OPS_32);
620   ARCOMPACT_RETTYPE arcompact_handle05_36(OPS_32);
621   ARCOMPACT_RETTYPE arcompact_handle05_37(OPS_32);
622   ARCOMPACT_RETTYPE arcompact_handle05_38(OPS_32);
623   ARCOMPACT_RETTYPE arcompact_handle05_39(OPS_32);
624   ARCOMPACT_RETTYPE arcompact_handle05_3a(OPS_32);
625   ARCOMPACT_RETTYPE arcompact_handle05_3b(OPS_32);
626   ARCOMPACT_RETTYPE arcompact_handle05_3c(OPS_32);
627   ARCOMPACT_RETTYPE arcompact_handle05_3d(OPS_32);
628   ARCOMPACT_RETTYPE arcompact_handle05_3e(OPS_32);
629   ARCOMPACT_RETTYPE arcompact_handle05_3f(OPS_32);
630
631   ARCOMPACT_RETTYPE arcompact_handle0f_00_04(OPS_16);
632   ARCOMPACT_RETTYPE arcompact_handle0f_00_05(OPS_16);
633   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_02(OPS_16);
634   ARCOMPACT_RETTYPE arcompact_handle0f_00_07_03(OPS_16);
635   ARCOMPACT_RETTYPE arcompact_handle0f_01(OPS_16);
636   ARCOMPACT_RETTYPE arcompact_handle0f_03(OPS_16);
637   ARCOMPACT_RETTYPE arcompact_handle0f_08(OPS_16);
638   ARCOMPACT_RETTYPE arcompact_handle0f_09(OPS_16);
639   ARCOMPACT_RETTYPE arcompact_handle0f_0a(OPS_16);
640   ARCOMPACT_RETTYPE arcompact_handle0f_17(OPS_16);
641
642   ARCOMPACT_RETTYPE arcompact_handle18_05_02(OPS_16);
643   ARCOMPACT_RETTYPE arcompact_handle18_05_03(OPS_16);
644   ARCOMPACT_RETTYPE arcompact_handle18_05_04(OPS_16);
645   ARCOMPACT_RETTYPE arcompact_handle18_05_05(OPS_16);
646   ARCOMPACT_RETTYPE arcompact_handle18_05_06(OPS_16);
647   ARCOMPACT_RETTYPE arcompact_handle18_05_07(OPS_16);
648   ARCOMPACT_RETTYPE arcompact_handle18_06_00(OPS_16);
649   ARCOMPACT_RETTYPE arcompact_handle18_06_02(OPS_16);
650   ARCOMPACT_RETTYPE arcompact_handle18_06_03(OPS_16);
651   ARCOMPACT_RETTYPE arcompact_handle18_06_04(OPS_16);
652   ARCOMPACT_RETTYPE arcompact_handle18_06_05(OPS_16);
653   ARCOMPACT_RETTYPE arcompact_handle18_06_06(OPS_16);
654   ARCOMPACT_RETTYPE arcompact_handle18_06_07(OPS_16);
655   ARCOMPACT_RETTYPE arcompact_handle18_06_08(OPS_16);
656   ARCOMPACT_RETTYPE arcompact_handle18_06_09(OPS_16);
657   ARCOMPACT_RETTYPE arcompact_handle18_06_0a(OPS_16);
658   ARCOMPACT_RETTYPE arcompact_handle18_06_0b(OPS_16);
659   ARCOMPACT_RETTYPE arcompact_handle18_06_0c(OPS_16);
660   ARCOMPACT_RETTYPE arcompact_handle18_06_0d(OPS_16);
661   ARCOMPACT_RETTYPE arcompact_handle18_06_0e(OPS_16);
662   ARCOMPACT_RETTYPE arcompact_handle18_06_0f(OPS_16);
663   ARCOMPACT_RETTYPE arcompact_handle18_06_10(OPS_16);
664   ARCOMPACT_RETTYPE arcompact_handle18_06_12(OPS_16);
665   ARCOMPACT_RETTYPE arcompact_handle18_06_13(OPS_16);
666   ARCOMPACT_RETTYPE arcompact_handle18_06_14(OPS_16);
667   ARCOMPACT_RETTYPE arcompact_handle18_06_15(OPS_16);
668   ARCOMPACT_RETTYPE arcompact_handle18_06_16(OPS_16);
669   ARCOMPACT_RETTYPE arcompact_handle18_06_17(OPS_16);
670   ARCOMPACT_RETTYPE arcompact_handle18_06_18(OPS_16);
671   ARCOMPACT_RETTYPE arcompact_handle18_06_19(OPS_16);
672   ARCOMPACT_RETTYPE arcompact_handle18_06_1a(OPS_16);
673   ARCOMPACT_RETTYPE arcompact_handle18_06_1b(OPS_16);
674   ARCOMPACT_RETTYPE arcompact_handle18_06_1c(OPS_16);
675   ARCOMPACT_RETTYPE arcompact_handle18_06_1d(OPS_16);
676   ARCOMPACT_RETTYPE arcompact_handle18_06_1e(OPS_16);
677   ARCOMPACT_RETTYPE arcompact_handle18_06_1f(OPS_16);
678   ARCOMPACT_RETTYPE arcompact_handle18_07_00(OPS_16);
679   ARCOMPACT_RETTYPE arcompact_handle18_07_02(OPS_16);
680   ARCOMPACT_RETTYPE arcompact_handle18_07_03(OPS_16);
681   ARCOMPACT_RETTYPE arcompact_handle18_07_04(OPS_16);
682   ARCOMPACT_RETTYPE arcompact_handle18_07_05(OPS_16);
683   ARCOMPACT_RETTYPE arcompact_handle18_07_06(OPS_16);
684   ARCOMPACT_RETTYPE arcompact_handle18_07_07(OPS_16);
685   ARCOMPACT_RETTYPE arcompact_handle18_07_08(OPS_16);
686   ARCOMPACT_RETTYPE arcompact_handle18_07_09(OPS_16);
687   ARCOMPACT_RETTYPE arcompact_handle18_07_0a(OPS_16);
688   ARCOMPACT_RETTYPE arcompact_handle18_07_0b(OPS_16);
689   ARCOMPACT_RETTYPE arcompact_handle18_07_0c(OPS_16);
690   ARCOMPACT_RETTYPE arcompact_handle18_07_0d(OPS_16);
691   ARCOMPACT_RETTYPE arcompact_handle18_07_0e(OPS_16);
692   ARCOMPACT_RETTYPE arcompact_handle18_07_0f(OPS_16);
693   ARCOMPACT_RETTYPE arcompact_handle18_07_10(OPS_16);
694   ARCOMPACT_RETTYPE arcompact_handle18_07_12(OPS_16);
695   ARCOMPACT_RETTYPE arcompact_handle18_07_13(OPS_16);
696   ARCOMPACT_RETTYPE arcompact_handle18_07_14(OPS_16);
697   ARCOMPACT_RETTYPE arcompact_handle18_07_15(OPS_16);
698   ARCOMPACT_RETTYPE arcompact_handle18_07_16(OPS_16);
699   ARCOMPACT_RETTYPE arcompact_handle18_07_17(OPS_16);
700   ARCOMPACT_RETTYPE arcompact_handle18_07_18(OPS_16);
701   ARCOMPACT_RETTYPE arcompact_handle18_07_19(OPS_16);
702   ARCOMPACT_RETTYPE arcompact_handle18_07_1a(OPS_16);
703   ARCOMPACT_RETTYPE arcompact_handle18_07_1b(OPS_16);
704   ARCOMPACT_RETTYPE arcompact_handle18_07_1c(OPS_16);
705   ARCOMPACT_RETTYPE arcompact_handle18_07_1d(OPS_16);
706   ARCOMPACT_RETTYPE arcompact_handle18_07_1e(OPS_16);
707   ARCOMPACT_RETTYPE arcompact_handle18_07_1f(OPS_16);
708
709   ARCOMPACT_RETTYPE arcompact_01_01_00_helper(OPS_32, const char* optext);
710   ARCOMPACT_RETTYPE arcompact_01_01_01_helper(OPS_32, const char* optext);
711   ARCOMPACT_RETTYPE arcompact_handle04_helper(OPS_32, const char* optext, int ignore_dst, int b_reserved);
712   ARCOMPACT_RETTYPE arcompact_handle04_2f_helper(OPS_32, const char* optext);
713   ARCOMPACT_RETTYPE arcompact_handle04_3x_helper(OPS_32, int dsize, int extend);
714   ARCOMPACT_RETTYPE arcompact_handle05_2f_0x_helper(OPS_32, const char* optext);
715   ARCOMPACT_RETTYPE arcompact_handle0c_helper(OPS_16, const char* optext);
716   ARCOMPACT_RETTYPE arcompact_handle0d_helper(OPS_16, const char* optext);
717   ARCOMPACT_RETTYPE arcompact_handle0e_0x_helper(OPS_16, const char* optext, int revop);
718   ARCOMPACT_RETTYPE arcompact_handle0f_00_0x_helper(OPS_16, const char* optext);
719   ARCOMPACT_RETTYPE arcompact_handle0f_0x_helper(OPS_16, const char* optext, int nodst);
720   ARCOMPACT_RETTYPE arcompact_handle_ld_helper(OPS_16, const char* optext, int shift, int swap);
721   ARCOMPACT_RETTYPE arcompact_handle_l7_0x_helper(OPS_16, const char* optext);
722   ARCOMPACT_RETTYPE arcompact_handle18_0x_helper(OPS_16, const char* optext, int st);
723   ARCOMPACT_RETTYPE arcompact_handle19_0x_helper(OPS_16, const char* optext, int shift, int format);
724   ARCOMPACT_RETTYPE arcompact_handle1e_0x_helper(OPS_16, const char* optext);
725   ARCOMPACT_RETTYPE arcompact_handle1e_03_0x_helper(OPS_16, const char* optext);
726   ARCOMPACT_RETTYPE arcompact_handle1d_helper(OPS_16, const char* optext);
727
728   ARCOMPACT_RETTYPE get_insruction(OPS_32);
729
42730private:
43731   address_space_config m_program_config;
44732
r242484r242485
50738   UINT32 m_debugger_temp;
51739
52740   void unimplemented_opcode(UINT16 op);
53   inline UINT32 READ32(UINT32 address);
54   inline void WRITE32(UINT32 address, UINT32 data);
55   inline UINT16 READ16(UINT32 address);
56   inline void WRITE16(UINT32 address, UINT16 data);
57741
742   inline  UINT32 READ32(UINT32 address) { return m_program->read_dword(address << 2); }
743   inline void WRITE32(UINT32 address, UINT32 data) { m_program->write_dword(address << 2, data); }
744   inline UINT16 READ16(UINT32 address) { return m_program->read_word(address << 1); }
745   inline void WRITE16(UINT32 address, UINT16 data){    m_program->write_word(address << 1, data); }
58746
747   UINT32 m_regs[0x40];
748
749   int m_delayactive;
750   int m_delaylinks;
751   UINT32 m_delayjump;
752
753
59754};
60755
61756
trunk/src/emu/cpu/arcompact/arcompact_common.c
r0r242485
1/*********************************\
2
3 ARCompact Core
4
5\*********************************/
6
7// condition codes (basic ones are the same as arc
8const char *conditions[0x20] =
9{
10   /* 00 */ "AL", // (aka RA         - Always)
11   /* 01 */ "EQ", // (aka Z          - Zero
12   /* 02 */ "NE", // (aka NZ         - Non-Zero)
13   /* 03 */ "PL", // (aka P          - Positive)
14   /* 04 */ "MI", // (aka N          - Negative)
15   /* 05 */ "CS", // (aka C,  LO     - Carry set / Lower than) (unsigned)
16   /* 06 */ "CC", // (aka CC, NC, HS - Carry Clear / Higher or Same) (unsigned)
17   /* 07 */ "VS", // (aka V          - Overflow set)
18   /* 08 */ "VC", // (aka NV         - Overflow clear)
19   /* 09 */ "GT", // (               - Greater than) (signed)
20   /* 0a */ "GE", // (               - Greater than or Equal) (signed)
21   /* 0b */ "LT", // (               - Less than) (signed)
22   /* 0c */ "LE", // (               - Less than or Equal) (signed)
23   /* 0d */ "HI", // (               - Higher than) (unsigned)
24   /* 0e */ "LS", // (               - Lower or Same) (unsigned)
25   /* 0f */ "PNZ",// (               - Positive non-0 value)
26   /* 10 */ "0x10 Reserved", // possible CPU implementation specifics
27   /* 11 */ "0x11 Reserved",
28   /* 12 */ "0x12 Reserved",
29   /* 13 */ "0x13 Reserved",
30   /* 14 */ "0x14 Reserved",
31   /* 15 */ "0x15 Reserved",
32   /* 16 */ "0x16 Reserved",
33   /* 17 */ "0x17 Reserved",
34   /* 18 */ "0x18 Reserved",
35   /* 19 */ "0x19 Reserved",
36   /* 1a */ "0x1a Reserved",
37   /* 1b */ "0x1b Reserved",
38   /* 1c */ "0x1c Reserved",
39   /* 1d */ "0x1d Reserved",
40   /* 1e */ "0x1e Reserved",
41   /* 1f */ "0x1f Reserved"
42};
43
44#define UNUSED_REG "unusedreg"
45
46#define AUX_UNUSED_16 \
47   /* 0xxx0 */ UNUSED_REG,   /* 0xxx1 */ UNUSED_REG,   /* 0xxx2 */ UNUSED_REG,   /* 0xxx3 */ UNUSED_REG,   /* 0xxx4 */ UNUSED_REG,   /* 0xxx5 */ UNUSED_REG,   /* 0xxx6 */ UNUSED_REG,   /* 0xxx7 */ UNUSED_REG,   /* 0xxx8 */ UNUSED_REG,   /* 0xxx9 */ UNUSED_REG,   /* 0xxxa */ UNUSED_REG,   /* 0xxxb */ UNUSED_REG,   /* 0xxxc */ UNUSED_REG,   /* 0xxxd */ UNUSED_REG,   /* 0xxxe */ UNUSED_REG,   /* 0xxxf */ UNUSED_REG,
48
49// the Auxiliary Register set is actually a 2^32 dword address space (so 16 GB / 34-bit)
50// this table just allows us to improve the debugger display for some of the common core / internal ones
51const char *auxregnames[0x420] =
52{
53   /* 0x000 */ "STATUS",
54   /* 0x001 */ "SEMAPHOR",
55   /* 0x002 */ "LP_START",
56   /* 0x003 */ "LP_END",
57   /* 0x004 */ "IDENTITY",
58   /* 0x005 */ "DEBUG",
59   /* 0x006 */ "PC",
60   /* 0x007 */ UNUSED_REG,
61   /* 0x008 */ UNUSED_REG,
62   /* 0x009 */ UNUSED_REG,
63   /* 0x00a */ "STATUS32",
64   /* 0x00b */ "STATUS32_L1",
65   /* 0x00c */ "STATUS32_L2",
66   /* 0x00d */ UNUSED_REG,
67   /* 0x00e */ UNUSED_REG,
68   /* 0x00f */ UNUSED_REG,
69
70   /* 0x010 */ UNUSED_REG,
71   /* 0x011 */ UNUSED_REG,
72   /* 0x012 */ "MULHI", // extension register
73   /* 0x013 */ UNUSED_REG,
74   /* 0x014 */ UNUSED_REG,
75   /* 0x015 */ UNUSED_REG,
76   /* 0x016 */ UNUSED_REG,
77   /* 0x017 */ UNUSED_REG,
78   /* 0x018 */ UNUSED_REG,
79   /* 0x019 */ UNUSED_REG,
80   /* 0x01a */ UNUSED_REG,
81   /* 0x01b */ UNUSED_REG,
82   /* 0x01c */ UNUSED_REG,
83   /* 0x01d */ UNUSED_REG,
84   /* 0x01e */ UNUSED_REG,
85   /* 0x01f */ UNUSED_REG,
86
87   /* 0x020 */ UNUSED_REG,
88   /* 0x021 */ "COUNT0",
89   /* 0x022 */ "CONTROL0",
90   /* 0x023 */ "LIMIT0",
91   /* 0x024 */ UNUSED_REG,
92   /* 0x025 */ "INT_VECTOR_BASE",
93   /* 0x026 */ UNUSED_REG,
94   /* 0x027 */ UNUSED_REG,
95   /* 0x028 */ UNUSED_REG,
96   /* 0x029 */ UNUSED_REG,
97   /* 0x02a */ UNUSED_REG,
98   /* 0x02b */ UNUSED_REG,
99   /* 0x02c */ UNUSED_REG,
100   /* 0x02d */ UNUSED_REG,
101   /* 0x02e */ UNUSED_REG,
102   /* 0x02f */ UNUSED_REG,
103   AUX_UNUSED_16 /* 0x030 - 0x03f */
104   /* 0x040 */ UNUSED_REG,
105   /* 0x041 */ "AUX_MACMODE",
106   /* 0x042 */ UNUSED_REG,
107   /* 0x043 */ "AUX_IRQLV12",
108   /* 0x044 */ UNUSED_REG,
109   /* 0x045 */ UNUSED_REG,
110   /* 0x046 */ UNUSED_REG,
111   /* 0x047 */ UNUSED_REG,
112   /* 0x048 */ UNUSED_REG,
113   /* 0x049 */ UNUSED_REG,
114   /* 0x04a */ UNUSED_REG,
115   /* 0x04b */ UNUSED_REG,
116   /* 0x04c */ UNUSED_REG,
117   /* 0x04d */ UNUSED_REG,
118   /* 0x04e */ UNUSED_REG,
119   /* 0x04f */ UNUSED_REG,
120   AUX_UNUSED_16 /* 0x050 - 0x05f */
121   // build configuration registers 0x060 - 0x07f
122   /* 0x060 */ "RESERVED AUX 0x60",/* 0x061 */ "RESERVED AUX 0x61",/* 0x062 */ "RESERVED AUX 0x62",/* 0x063 */ "RESERVED AUX 0x63",/* 0x064 */ "RESERVED AUX 0x64",/* 0x065 */ "RESERVED AUX 0x65",/* 0x066 */ "RESERVED AUX 0x66",/* 0x067 */ "RESERVED AUX 0x67",/* 0x068 */ "RESERVED AUX 0x68",/* 0x069 */ "RESERVED AUX 0x69",/* 0x06a */ "RESERVED AUX 0x6a",/* 0x06b */ "RESERVED AUX 0x6b",/* 0x06c */ "RESERVED AUX 0x6c",/* 0x06d */ "RESERVED AUX 0x6d",/* 0x06e */ "RESERVED AUX 0x6e",/* 0x06f */ "RESERVED AUX 0x6f",
123   /* 0x070 */ "RESERVED AUX 0x70",/* 0x071 */ "RESERVED AUX 0x71",/* 0x072 */ "RESERVED AUX 0x72",/* 0x073 */ "RESERVED AUX 0x73",/* 0x074 */ "RESERVED AUX 0x74",/* 0x075 */ "RESERVED AUX 0x75",/* 0x076 */ "RESERVED AUX 0x76",/* 0x077 */ "RESERVED AUX 0x77",/* 0x078 */ "RESERVED AUX 0x78",/* 0x079 */ "RESERVED AUX 0x79",/* 0x07a */ "RESERVED AUX 0x7a",/* 0x07b */ "RESERVED AUX 0x7b",/* 0x07c */ "RESERVED AUX 0x7c",/* 0x07d */ "RESERVED AUX 0x7d",/* 0x07e */ "RESERVED AUX 0x7e",/* 0x07f */ "RESERVED AUX 0x7f",
124   AUX_UNUSED_16 /* 0x080 - 0x08f */
125   AUX_UNUSED_16 /* 0x090 - 0x09f */
126   AUX_UNUSED_16 /* 0x0a0 - 0x0af */
127   AUX_UNUSED_16 /* 0x0b0 - 0x0bf */
128    // build configuration registers 0x0c0 - 0x0ff
129   /* 0x0c0 */ "RESERVED AUX 0xc0",/* 0x0c1 */ "RESERVED AUX 0xc1",/* 0x0c2 */ "RESERVED AUX 0xc2",/* 0x0c3 */ "RESERVED AUX 0xc3",/* 0x0c4 */ "RESERVED AUX 0xc4",/* 0x0c5 */ "RESERVED AUX 0xc5",/* 0x0c6 */ "RESERVED AUX 0xc6",/* 0x0c7 */ "RESERVED AUX 0xc7",/* 0x0c8 */ "RESERVED AUX 0xc8",/* 0x0c9 */ "RESERVED AUX 0xc9",/* 0x0ca */ "RESERVED AUX 0xca",/* 0x0cb */ "RESERVED AUX 0xcb",/* 0x0cc */ "RESERVED AUX 0xcc",/* 0x0cd */ "RESERVED AUX 0xcd",/* 0x0ce */ "RESERVED AUX 0xce",/* 0x0cf */ "RESERVED AUX 0xcf",
130   /* 0x0d0 */ "RESERVED AUX 0xd0",/* 0x0d1 */ "RESERVED AUX 0xd1",/* 0x0d2 */ "RESERVED AUX 0xd2",/* 0x0d3 */ "RESERVED AUX 0xd3",/* 0x0d4 */ "RESERVED AUX 0xd4",/* 0x0d5 */ "RESERVED AUX 0xd5",/* 0x0d6 */ "RESERVED AUX 0xd6",/* 0x0d7 */ "RESERVED AUX 0xd7",/* 0x0d8 */ "RESERVED AUX 0xd8",/* 0x0d9 */ "RESERVED AUX 0xd9",/* 0x0da */ "RESERVED AUX 0xda",/* 0x0db */ "RESERVED AUX 0xdb",/* 0x0dc */ "RESERVED AUX 0xdc",/* 0x0dd */ "RESERVED AUX 0xdd",/* 0x0de */ "RESERVED AUX 0xde",/* 0x0df */ "RESERVED AUX 0xdf",
131   /* 0x0e0 */ "RESERVED AUX 0xe0",/* 0x0e1 */ "RESERVED AUX 0xe1",/* 0x0e2 */ "RESERVED AUX 0xe2",/* 0x0e3 */ "RESERVED AUX 0xe3",/* 0x0e4 */ "RESERVED AUX 0xe4",/* 0x0e5 */ "RESERVED AUX 0xe5",/* 0x0e6 */ "RESERVED AUX 0xe6",/* 0x0e7 */ "RESERVED AUX 0xe7",/* 0x0e8 */ "RESERVED AUX 0xe8",/* 0x0e9 */ "RESERVED AUX 0xe9",/* 0x0ea */ "RESERVED AUX 0xea",/* 0x0eb */ "RESERVED AUX 0xeb",/* 0x0ec */ "RESERVED AUX 0xec",/* 0x0ed */ "RESERVED AUX 0xed",/* 0x0ee */ "RESERVED AUX 0xee",/* 0x0ef */ "RESERVED AUX 0xef",
132   /* 0x0f0 */ "RESERVED AUX 0xf0",/* 0x0f1 */ "RESERVED AUX 0xf1",/* 0x0f2 */ "RESERVED AUX 0xf2",/* 0x0f3 */ "RESERVED AUX 0xf3",/* 0x0f4 */ "RESERVED AUX 0xf4",/* 0x0f5 */ "RESERVED AUX 0xf5",/* 0x0f6 */ "RESERVED AUX 0xf6",/* 0x0f7 */ "RESERVED AUX 0xf7",/* 0x0f8 */ "RESERVED AUX 0xf8",/* 0x0f9 */ "RESERVED AUX 0xf9",/* 0x0fa */ "RESERVED AUX 0xfa",/* 0x0fb */ "RESERVED AUX 0xfb",/* 0x0fc */ "RESERVED AUX 0xfc",/* 0x0fd */ "RESERVED AUX 0xfd",/* 0x0fe */ "RESERVED AUX 0xfe",/* 0x0ff */ "RESERVED AUX 0xff",
133   /* 0x100 */ "COUNT1",
134   /* 0x101 */ "CONTROL1",
135   /* 0x102 */ "LIMIT1",
136   /* 0x103 */ UNUSED_REG,
137   /* 0x104 */ UNUSED_REG,
138   /* 0x105 */ UNUSED_REG,
139   /* 0x106 */ UNUSED_REG,
140   /* 0x107 */ UNUSED_REG,
141   /* 0x108 */ UNUSED_REG,
142   /* 0x109 */ UNUSED_REG,
143   /* 0x10a */ UNUSED_REG,
144   /* 0x10b */ UNUSED_REG,
145   /* 0x10c */ UNUSED_REG,
146   /* 0x10d */ UNUSED_REG,
147   /* 0x10e */ UNUSED_REG,
148   /* 0x10f */ UNUSED_REG,
149   AUX_UNUSED_16 /* 0x110 - 0x11f */
150   AUX_UNUSED_16 /* 0x120 - 0x12f */
151   AUX_UNUSED_16 /* 0x130 - 0x13f */
152   AUX_UNUSED_16 /* 0x140 - 0x14f */
153   AUX_UNUSED_16 /* 0x150 - 0x15f */
154   AUX_UNUSED_16 /* 0x160 - 0x16f */
155   AUX_UNUSED_16 /* 0x170 - 0x17f */
156   AUX_UNUSED_16 /* 0x180 - 0x18f */
157   AUX_UNUSED_16 /* 0x190 - 0x19f */
158   AUX_UNUSED_16 /* 0x1a0 - 0x1af */
159   AUX_UNUSED_16 /* 0x1b0 - 0x1bf */
160   AUX_UNUSED_16 /* 0x1c0 - 0x1cf */
161   AUX_UNUSED_16 /* 0x1d0 - 0x1df */
162   AUX_UNUSED_16 /* 0x1e0 - 0x1ef */
163   AUX_UNUSED_16 /* 0x1f0 - 0x1ff */
164   /* 0x200 */ "AUX_IRQ_LEV",
165   /* 0x201 */ "AUX_IRQ_HINT",
166   /* 0x203 */ UNUSED_REG,
167   /* 0x203 */ UNUSED_REG,
168   /* 0x204 */ UNUSED_REG,
169   /* 0x205 */ UNUSED_REG,
170   /* 0x206 */ UNUSED_REG,
171   /* 0x207 */ UNUSED_REG,
172   /* 0x208 */ UNUSED_REG,
173   /* 0x209 */ UNUSED_REG,
174   /* 0x20a */ UNUSED_REG,
175   /* 0x20b */ UNUSED_REG,
176   /* 0x20c */ UNUSED_REG,
177   /* 0x20d */ UNUSED_REG,
178   /* 0x20e */ UNUSED_REG,
179   /* 0x20f */ UNUSED_REG,
180   AUX_UNUSED_16 /* 0x210 - 0x21f */
181   AUX_UNUSED_16 /* 0x220 - 0x22f */
182   AUX_UNUSED_16 /* 0x230 - 0x23f */
183   AUX_UNUSED_16 /* 0x240 - 0x24f */
184   AUX_UNUSED_16 /* 0x250 - 0x25f */
185   AUX_UNUSED_16 /* 0x260 - 0x26f */
186   AUX_UNUSED_16 /* 0x270 - 0x27f */
187   AUX_UNUSED_16 /* 0x280 - 0x28f */
188   AUX_UNUSED_16 /* 0x290 - 0x29f */
189   AUX_UNUSED_16 /* 0x2a0 - 0x2af */
190   AUX_UNUSED_16 /* 0x2b0 - 0x2bf */
191   AUX_UNUSED_16 /* 0x2c0 - 0x2cf */
192   AUX_UNUSED_16 /* 0x2d0 - 0x2df */
193   AUX_UNUSED_16 /* 0x2e0 - 0x2ef */
194   AUX_UNUSED_16 /* 0x2f0 - 0x2ff */
195
196   AUX_UNUSED_16 /* 0x300 - 0x30f */
197   AUX_UNUSED_16 /* 0x310 - 0x31f */
198   AUX_UNUSED_16 /* 0x320 - 0x32f */
199   AUX_UNUSED_16 /* 0x330 - 0x33f */
200   AUX_UNUSED_16 /* 0x340 - 0x34f */
201   AUX_UNUSED_16 /* 0x350 - 0x35f */
202   AUX_UNUSED_16 /* 0x360 - 0x36f */
203   AUX_UNUSED_16 /* 0x370 - 0x37f */
204   AUX_UNUSED_16 /* 0x380 - 0x38f */
205   AUX_UNUSED_16 /* 0x390 - 0x39f */
206   AUX_UNUSED_16 /* 0x3a0 - 0x3af */
207   AUX_UNUSED_16 /* 0x3b0 - 0x3bf */
208   AUX_UNUSED_16 /* 0x3c0 - 0x3cf */
209   AUX_UNUSED_16 /* 0x3d0 - 0x3df */
210   AUX_UNUSED_16 /* 0x3e0 - 0x3ef */
211   AUX_UNUSED_16 /* 0x3f0 - 0x3ff */
212
213   /* 0x400 */ "ERET",
214   /* 0x401 */ "ERBTA",
215   /* 0x403 */ "ERSTATUS",
216   /* 0x403 */ "ECR",
217   /* 0x404 */ "EFA",
218   /* 0x405 */ UNUSED_REG,
219   /* 0x406 */ UNUSED_REG,
220   /* 0x407 */ UNUSED_REG,
221   /* 0x408 */ UNUSED_REG,
222   /* 0x409 */ UNUSED_REG,
223   /* 0x40a */ "ICAUSE1",
224   /* 0x40b */ "ICAUSE2",
225   /* 0x40c */ "AUX_IENABLE",
226   /* 0x40d */ "AUX_ITRIGGER",
227   /* 0x40e */ UNUSED_REG,
228   /* 0x40f */ UNUSED_REG,
229
230   /* 0x410 */ "XPU",
231   /* 0x411 */ UNUSED_REG,
232   /* 0x412 */ "BTA",
233   /* 0x413 */ "BTA_L1",
234   /* 0x414 */ "BTA_L2",
235   /* 0x415 */ "AUX_IRQ_PULSE_CANCEL",
236   /* 0x416 */ "AUX_IRQ_PENDING",
237   /* 0x417 */ UNUSED_REG,
238   /* 0x418 */ UNUSED_REG,
239   /* 0x419 */ UNUSED_REG,
240   /* 0x41a */ UNUSED_REG,
241   /* 0x41b */ UNUSED_REG,
242   /* 0x41c */ UNUSED_REG,
243   /* 0x41d */ UNUSED_REG,
244   /* 0x41e */ UNUSED_REG,
245   /* 0x41f */ UNUSED_REG
246};
247
248//#define EXPLICIT_EXTENSIONS
249
250const char *datasize[0x4] =
251{
252#ifdef EXPLICIT_EXTENSIONS
253   /* 00 */ ".L", // Dword (default) (can use no extension, using .L to be explicit)
254#else
255   /* 00 */ "",// Dword (default)
256#endif
257   /* 01 */ ".B", // Byte
258   /* 02 */ ".W", // Word
259   /* 03 */ ".<illegal data size>"
260};
261
262const char *dataextend[0x2] =
263{
264#ifdef EXPLICIT_EXTENSIONS
265   /* 00 */ ".ZX", // Zero Extend (can use no extension, using .ZX to be explicit)
266#else
267   /* 00 */ "", // Zero Extend
268#endif
269   /* 01 */ ".X" // Sign Extend
270};
271
272const char *addressmode[0x4] =
273{
274#ifdef EXPLICIT_EXTENSIONS
275   /* 00 */ ".AN", // No Writeback (can use no extension, using .AN to be explicit)
276#else
277   /* 00 */ "", // No Writeback
278#endif
279   /* 01 */ ".AW", // Writeback pre memory access
280   /* 02 */ ".AB", // Writeback post memory access
281   /* 03 */ ".AS"  // scaled
282};
283
284const char *cachebit[0x2] =
285{
286#ifdef EXPLICIT_EXTENSIONS
287   /* 00 */ ".EN", // Data Cache Enabled (can use no extension, using .EN to be explicit)
288#else
289   /* 00 */ "", // Data Cache Enabled
290#endif
291   /* 01 */ ".DI" // Direct to Memory (Cache Bypass)
292};
293
294const char *flagbit[0x2] =
295{
296#ifdef EXPLICIT_EXTENSIONS
297   /* 00 */ ".NF", // Don't Set Flags (can use no extension, using .NF to be explicit)
298#else
299   /* 00 */ "", // Don't Set Flags
300#endif
301   /* 01 */ ".F" // Set Flags
302};
303
304const char *delaybit[0x2] =
305{
306   /* 00 */ ".ND", // Don't execute opcode in delay slot
307   /* 01 */ ".D"   // Execute Opcode in delay slot
308};
309
310
311const char *regnames[0x40] =
312{
313   /* 00 */ "r0",
314   /* 01 */ "r1",
315   /* 02 */ "r2",
316   /* 03 */ "r3",
317   /* 04 */ "r4",
318   /* 05 */ "r5",
319   /* 06 */ "r6",
320   /* 07 */ "r7",
321   /* 08 */ "r8",
322   /* 09 */ "r9",
323   /* 0a */ "r10",
324   /* 0b */ "r11",
325   /* 0c */ "r12",
326   /* 0d */ "r13",
327   /* 0e */ "r14",
328   /* 0f */ "r15",
329
330   /* 10 */ "r16",
331   /* 11 */ "r17",
332   /* 12 */ "r18",
333   /* 13 */ "r19",
334   /* 14 */ "r20",
335   /* 15 */ "r21",
336   /* 16 */ "r22",
337   /* 17 */ "r23",
338   /* 18 */ "r24",
339   /* 19 */ "r25",
340   /* 1a */ "r26(GP)",
341   /* 1b */ "r27(FP)",
342   /* 1c */ "r28(SP)",
343   /* 1d */ "r29(ILINK1)",
344   /* 1e */ "r30(ILINK2)",
345   /* 1f */ "r31(BLINK)",
346
347   /* 20 */ "r32(ext)",
348   /* 21 */ "r33(ext)",
349   /* 22 */ "r34(ext)",
350   /* 23 */ "r35(ext)",
351   /* 24 */ "r36(ext)",
352   /* 25 */ "r37(ext)",
353   /* 26 */ "r38(ext)",
354   /* 27 */ "r39(ext)",
355   /* 28 */ "r40(ext)",
356   /* 29 */ "r41(ext)",
357   /* 2a */ "r42(ext)",
358   /* 2b */ "r43(ext)",
359   /* 2c */ "r44(ext)",
360   /* 2d */ "r45(ext)",
361   /* 2e */ "r46(ext)",
362   /* 2f */ "r47(ext)",
363
364   /* 30 */ "r48(ext)",
365   /* 31 */ "r49(ext)",
366   /* 32 */ "r50(ext)",
367   /* 33 */ "r51(ext)",
368   /* 34 */ "r52(ext)",
369   /* 35 */ "r53(ext)",
370   /* 36 */ "r54(ext)",
371   /* 37 */ "r55(ext)",
372   /* 38 */ "r56(ext)",
373   /* 39 */ "r57(M-LO)",  // MLO  (result registers for optional multply functions)
374   /* 3a */ "r58(M-MID)", // MMID
375   /* 3b */ "r59(M-HI)",  // MHI
376   /* 3c */ "r60(LP_COUNT)",
377   /* 3d */ "r61(reserved)",
378   /* 3e */ "r62(LIMM)", // use Long Immediate Data instead of register
379   /* 3f */ "r63(PCL)"
380};
381
382#if 0
383const char *opcodes_temp[0x40] =
384{
385   /* 00 */ "0x00",
386   /* 01 */ "0x01",
387   /* 02 */ "0x02",
388   /* 03 */ "0x03",
389   /* 04 */ "0x04",
390   /* 05 */ "0x05",
391   /* 06 */ "0x06",
392   /* 07 */ "0x07",
393   /* 08 */ "0x08",
394   /* 09 */ "0x09",
395   /* 0a */ "0x0a",
396   /* 0b */ "0x0b",
397   /* 0c */ "0x0c",
398   /* 0d */ "0x0d",
399   /* 0e */ "0x0e",
400   /* 0f */ "0x0f",
401
402   /* 10 */ "0x10",
403   /* 11 */ "0x11",
404   /* 12 */ "0x12",
405   /* 13 */ "0x13",
406   /* 14 */ "0x14",
407   /* 15 */ "0x15",
408   /* 16 */ "0x16",
409   /* 17 */ "0x17",
410   /* 18 */ "0x18",
411   /* 19 */ "0x19",
412   /* 1a */ "0x1a",
413   /* 1b */ "0x1b",
414   /* 1c */ "0x1c",
415   /* 1d */ "0x1d",
416   /* 1e */ "0x1e",
417   /* 1f */ "0x1f",
418
419   /* 20 */ "0x20",
420   /* 21 */ "0x21",
421   /* 22 */ "0x22",
422   /* 23 */ "0x23",
423   /* 24 */ "0x24",
424   /* 25 */ "0x25",
425   /* 26 */ "0x26",
426   /* 27 */ "0x27",
427   /* 28 */ "0x28",
428   /* 29 */ "0x29",
429   /* 2a */ "0x2a",
430   /* 2b */ "0x2b",
431   /* 2c */ "0x2c",
432   /* 2d */ "0x2d",
433   /* 2e */ "0x2e",
434   /* 2f */ "0x2f",
435
436   /* 30 */ "0x30",
437   /* 31 */ "0x31",
438   /* 32 */ "0x32",
439   /* 33 */ "0x33",
440   /* 34 */ "0x34",
441   /* 35 */ "0x35",
442   /* 36 */ "0x36",
443   /* 37 */ "0x37",
444   /* 38 */ "0x38",
445   /* 39 */ "0x39",
446   /* 3a */ "0x3a",
447   /* 3b */ "0x3b",
448   /* 3c */ "0x3c",
449   /* 3d */ "0x3d",
450   /* 3e */ "0x3e",
451   /* 3f */ "0x3f",
452};
453#endif
454
455
456const char *opcodes_04[0x40] =
457{
458   /* 00 */ "ADD",
459   /* 01 */ "ADC",
460   /* 02 */ "SUB",
461   /* 03 */ "SBC",
462   /* 04 */ "AND",
463   /* 05 */ "OR",
464   /* 06 */ "BIC",
465   /* 07 */ "XOR",
466   /* 08 */ "MAX",
467   /* 09 */ "MIN",
468   /* 0a */ "MOV",
469   /* 0b */ "TST",
470   /* 0c */ "CMP",
471   /* 0d */ "RCMP",
472   /* 0e */ "RSUB",
473   /* 0f */ "BSET",
474
475   /* 10 */ "BCLR",
476   /* 11 */ "BTST",
477   /* 12 */ "BXOR",
478   /* 13 */ "BSMK",
479   /* 14 */ "ADD1",
480   /* 15 */ "ADD2",
481   /* 16 */ "ADD3",
482   /* 17 */ "SUB1",
483   /* 18 */ "SUB2",
484   /* 19 */ "SUB3",
485   /* 1a */ "MPY",
486   /* 1b */ "MPYH",
487   /* 1c */ "MPYHU",
488   /* 1d */ "MPYU",
489   /* 1e */ "0x1e",
490   /* 1f */ "0x1f",
491
492   /* 20 */ "Jcc",
493   /* 21 */ "Jcc.D",
494   /* 22 */ "JLcc",
495   /* 23 */ "JLcc.D",
496   /* 24 */ "0x24",
497   /* 25 */ "0x25",
498   /* 26 */ "0x26",
499   /* 27 */ "0x27",
500   /* 28 */ "LPcc",
501   /* 29 */ "FLAG",
502   /* 2a */ "LR",
503   /* 2b */ "SR",
504   /* 2c */ "0x2c",
505   /* 2d */ "0x2d",
506   /* 2e */ "0x2e",
507   /* 2f */ "SOP table",
508
509   /* 30 */ "LD",
510   /* 31 */ "LD",
511   /* 32 */ "LD",
512   /* 33 */ "LD",
513   /* 34 */ "LD",
514   /* 35 */ "LD",
515   /* 36 */ "LD",
516   /* 37 */ "LD",
517   /* 38 */ "0x38",
518   /* 39 */ "0x39",
519   /* 3a */ "0x3a",
520   /* 3b */ "0x3b",
521   /* 3c */ "0x3c",
522   /* 3d */ "0x3d",
523   /* 3e */ "0x3e",
524   /* 3f */ "0x3f",
525};
526
trunk/src/emu/cpu/arcompact/arcompact_common.h
r0r242485
1/*********************************\
2
3 ARCompact Core
4
5\*********************************/
6
7extern const char *conditions[0x20];
8extern const char *auxregnames[0x420];
9extern const char *datasize[0x4];
10extern const char *dataextend[0x2];
11extern const char *addressmode[0x4];
12extern const char *cachebit[0x2];
13extern const char *flagbit[0x2];
14extern const char *delaybit[0x2];
15extern const char *regnames[0x40];
16extern const char *opcodes_04[0x40];
17
18#define REG_BLINK (0x1f) // 31
trunk/src/emu/cpu/arcompact/arcompact_execute.c
r0r242485
1
2#include "emu.h"
3#include "debugger.h"
4#include "arcompact.h"
5#include "arcompact_common.h"
6
7#define ARCOMPACT_LOGGING 0
8
9#define arcompact_fatal if (ARCOMPACT_LOGGING) fatalerror
10#define arcompact_log if (ARCOMPACT_LOGGING) fatalerror
11
12
13void arcompact_device::execute_run()
14{
15   //UINT32 lres;
16   //lres = 0;
17
18   while (m_icount > 0)
19   {
20      debugger_instruction_hook(this, m_pc<<1);
21
22//      printf("new pc %04x\n", m_pc);
23
24      if (m_delayactive)
25      {
26         UINT16 op = READ16((m_pc + 0) >> 1);
27         m_pc = get_insruction(op);
28         if (m_delaylinks) m_regs[REG_BLINK] = m_pc;
29
30         m_pc = m_delayjump;
31         m_delayactive = 0; m_delaylinks = 0;
32      }
33      else
34      {
35         UINT16 op = READ16((m_pc + 0) >> 1);
36         m_pc = get_insruction(op);
37      }
38
39      m_icount--;
40   }
41
42}
43
44
45#define GET_01_01_01_BRANCH_ADDR \
46   INT32 address = (op & 0x00fe0000) >> 17; \
47   address |= ((op & 0x00008000) >> 15) << 7; \
48   if (address & 0x80) address = -0x80 + (address & 0x7f); \
49
50
51#define GROUP_0e_GET_h \
52   h =  ((op & 0x0007) << 3); \
53    h |= ((op & 0x00e0) >> 5); \
54
55#define COMMON32_GET_breg \
56   int b_temp = (op & 0x07000000) >> 24; \
57   int B_temp = (op & 0x00007000) >> 12; \
58   int breg = b_temp | (B_temp << 3); \
59
60#define COMMON32_GET_s12 \
61      int S_temp = (op & 0x0000003f) >> 0; \
62      int s_temp = (op & 0x00000fc0) >> 6; \
63      int S = s_temp | (S_temp<<6); \
64
65#define COMMON32_GET_CONDITION \
66      UINT8 condition = op & 0x0000001f;
67
68
69#define COMMON16_GET_breg \
70   breg =  ((op & 0x0700) >>8); \
71
72#define COMMON16_GET_creg \
73   creg =  ((op & 0x00e0) >>5); \
74
75#define COMMON16_GET_areg \
76   areg =  ((op & 0x0007) >>0); \
77
78#define COMMON16_GET_u3 \
79   u =  ((op & 0x0007) >>0); \
80
81#define COMMON16_GET_u5 \
82   u =  ((op & 0x001f) >>0); \
83
84#define COMMON16_GET_u8 \
85   u =  ((op & 0x00ff) >>0); \
86
87#define COMMON16_GET_u7 \
88   u =  ((op & 0x007f) >>0); \
89
90#define COMMON16_GET_s9 \
91   s =  ((op & 0x01ff) >>0); \
92
93// registers used in 16-bit opcodes hae a limited range
94// and can only address registers r0-r3 and r12-r15
95
96#define REG_16BIT_RANGE(_reg_) \
97   if (_reg_>3) _reg_+= 8; \
98
99
100#define GET_LIMM_32 \
101   limm = (READ16((m_pc + 4) >> 1) << 16); \
102   limm |= READ16((m_pc + 6) >> 1); \
103
104
105
106#define PC_ALIGNED32 \
107   (m_pc&0xfffffffc)
108
109
110ARCOMPACT_RETTYPE arcompact_device::get_insruction(OPS_32)
111{
112   UINT8 instruction = ARCOMPACT_OPERATION;
113
114   if (instruction < 0x0c)
115   {
116      op <<= 16;
117      op |= READ16((m_pc + 2) >> 1);
118
119      switch (instruction) // 32-bit instructions (with optional extra dword for immediate data)
120      {
121         case 0x00: return arcompact_handle00(PARAMS);   break; // Bcc
122         case 0x01: return arcompact_handle01(PARAMS);   break; // BLcc/BRcc
123         case 0x02: return arcompact_handle02(PARAMS);   break; // LD r+o
124         case 0x03: return arcompact_handle03(PARAMS);   break; // ST r+o
125         case 0x04: return arcompact_handle04(PARAMS);   break; // op a,b,c (basecase)
126         case 0x05: return arcompact_handle05(PARAMS);   break; // op a,b,c (05 ARC ext)
127         case 0x06: return arcompact_handle06(PARAMS);   break; // op a,b,c (06 ARC ext)
128         case 0x07: return arcompact_handle07(PARAMS);   break; // op a,b,c (07 User ext)
129         case 0x08: return arcompact_handle08(PARAMS);   break; // op a,b,c (08 User ext)
130         case 0x09: return arcompact_handle09(PARAMS);   break; // op a,b,c (09 Market ext)
131         case 0x0a: return arcompact_handle0a(PARAMS);   break; // op a,b,c (0a Market ext)
132         case 0x0b: return arcompact_handle0b(PARAMS);   break; // op a,b,c (0b Market ext)
133      }
134   }
135   else
136   {
137      switch (instruction) // 16-bit instructions
138      {
139         case 0x0c: return arcompact_handle0c(PARAMS);   break; // Load/Add reg-reg
140         case 0x0d: return arcompact_handle0d(PARAMS);   break; // Add/Sub/Shft imm
141         case 0x0e: return arcompact_handle0e(PARAMS);   break; // Mov/Cmp/Add
142         case 0x0f: return arcompact_handle0f(PARAMS);   break; // op_S b,b,c (single 16-bit ops)
143         case 0x10: return arcompact_handle10(PARAMS);   break; // LD_S
144         case 0x11: return arcompact_handle11(PARAMS);   break; // LDB_S
145         case 0x12: return arcompact_handle12(PARAMS);   break; // LDW_S
146         case 0x13: return arcompact_handle13(PARAMS);   break; // LSW_S.X
147         case 0x14: return arcompact_handle14(PARAMS);   break; // ST_S
148         case 0x15: return arcompact_handle15(PARAMS);   break; // STB_S
149         case 0x16: return arcompact_handle16(PARAMS);   break; // STW_S
150         case 0x17: return arcompact_handle17(PARAMS);   break; // Shift/Sub/Bit
151         case 0x18: return arcompact_handle18(PARAMS);   break; // Stack Instr
152         case 0x19: return arcompact_handle19(PARAMS);   break; // GP Instr
153         case 0x1a: return arcompact_handle1a(PARAMS);   break; // PCL Instr
154         case 0x1b: return arcompact_handle1b(PARAMS);   break; // MOV_S
155         case 0x1c: return arcompact_handle1c(PARAMS);   break; // ADD_S/CMP_S
156         case 0x1d: return arcompact_handle1d(PARAMS);   break; // BRcc_S
157         case 0x1e: return arcompact_handle1e(PARAMS);   break; // Bcc_S
158         case 0x1f: return arcompact_handle1f(PARAMS);   break; // BL_S
159      }
160   }
161
162   return 0;
163}
164
165ARCOMPACT_RETTYPE arcompact_device::arcompact_handle00(OPS_32)
166{
167   UINT8 subinstr = (op & 0x00010000) >> 16;
168
169   switch (subinstr)
170   {
171      case 0x00: return arcompact_handle00_00(PARAMS); break; // Branch Conditionally
172      case 0x01: return arcompact_handle00_01(PARAMS); break; // Branch Unconditionally Far
173   }
174
175   return 0;
176}
177
178ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01(OPS_32)
179{
180   UINT8 subinstr = (op & 0x00010000) >> 16;
181
182   switch (subinstr)
183   {
184      case 0x00: return arcompact_handle01_00(PARAMS); break; // Branh & Link
185      case 0x01: return arcompact_handle01_01(PARAMS); break; // Branch on Compare
186   }
187
188   return 0;
189}
190
191ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_00(OPS_32)
192{
193   UINT8 subinstr2 = (op & 0x00020000) >> 17;
194
195   switch (subinstr2)
196   {
197      case 0x00: return arcompact_handle01_00_00dasm(PARAMS); break; // Branch and Link Conditionally
198      case 0x01: return arcompact_handle01_00_01dasm(PARAMS); break; // Branch and Link Unconditional Far
199   }
200
201   return 0;
202}
203
204ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01(OPS_32)
205{
206   UINT8 subinstr2 = (op & 0x00000010) >> 4;
207
208   switch (subinstr2)
209   {
210      case 0x00: return arcompact_handle01_01_00(PARAMS); break; // Branch on Compare Register-Register
211      case 0x01: return arcompact_handle01_01_01(PARAMS); break; // Branch on Compare/Bit Test Register-Immediate
212   }
213
214   return 0;
215}
216
217ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00(OPS_32)
218{
219   UINT8 subinstr3 = (op & 0x0000000f) >> 0;
220
221   switch (subinstr3)
222   {
223      case 0x00: return arcompact_handle01_01_00_00(PARAMS); break; // BREQ (reg-reg)
224      case 0x01: return arcompact_handle01_01_00_01(PARAMS); break; // BRNE (reg-reg)
225      case 0x02: return arcompact_handle01_01_00_02(PARAMS); break; // BRLT (reg-reg)
226      case 0x03: return arcompact_handle01_01_00_03(PARAMS); break; // BRGE (reg-reg)
227      case 0x04: return arcompact_handle01_01_00_04(PARAMS); break; // BRLO (reg-reg)
228      case 0x05: return arcompact_handle01_01_00_05(PARAMS); break; // BRHS (reg-reg)
229      case 0x06: return arcompact_handle01_01_00_06(PARAMS); break; // reserved
230      case 0x07: return arcompact_handle01_01_00_07(PARAMS); break; // reserved
231      case 0x08: return arcompact_handle01_01_00_08(PARAMS); break; // reserved
232      case 0x09: return arcompact_handle01_01_00_09(PARAMS); break; // reserved
233      case 0x0a: return arcompact_handle01_01_00_0a(PARAMS); break; // reserved
234      case 0x0b: return arcompact_handle01_01_00_0b(PARAMS); break; // reserved
235      case 0x0c: return arcompact_handle01_01_00_0c(PARAMS); break; // reserved
236      case 0x0d: return arcompact_handle01_01_00_0d(PARAMS); break; // reserved
237      case 0x0e: return arcompact_handle01_01_00_0e(PARAMS); break; // BBIT0 (reg-reg)
238      case 0x0f: return arcompact_handle01_01_00_0f(PARAMS); break; // BBIT1 (reg-reg)
239   }
240
241   return 0;
242}
243
244ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01(OPS_32) //  Branch on Compare/Bit Test Register-Immediate
245{
246   UINT8 subinstr3 = (op & 0x0000000f) >> 0;
247
248   switch (subinstr3)
249   {
250      case 0x00: return arcompact_handle01_01_01_00(PARAMS); break; // BREQ (reg-imm)
251      case 0x01: return arcompact_handle01_01_01_01(PARAMS); break; // BRNE (reg-imm)
252      case 0x02: return arcompact_handle01_01_01_02(PARAMS); break; // BRLT (reg-imm)
253      case 0x03: return arcompact_handle01_01_01_03(PARAMS); break; // BRGE (reg-imm)
254      case 0x04: return arcompact_handle01_01_01_04(PARAMS); break; // BRLO (reg-imm)
255      case 0x05: return arcompact_handle01_01_01_05(PARAMS); break; // BRHS (reg-imm)
256      case 0x06: return arcompact_handle01_01_01_06(PARAMS); break; // reserved
257      case 0x07: return arcompact_handle01_01_01_07(PARAMS); break; // reserved
258      case 0x08: return arcompact_handle01_01_01_08(PARAMS); break; // reserved
259      case 0x09: return arcompact_handle01_01_01_09(PARAMS); break; // reserved
260      case 0x0a: return arcompact_handle01_01_01_0a(PARAMS); break; // reserved
261      case 0x0b: return arcompact_handle01_01_01_0b(PARAMS); break; // reserved
262      case 0x0c: return arcompact_handle01_01_01_0c(PARAMS); break; // reserved
263      case 0x0d: return arcompact_handle01_01_01_0d(PARAMS); break; // reserved
264      case 0x0e: return arcompact_handle01_01_01_0e(PARAMS); break; // BBIT0 (reg-imm)
265      case 0x0f: return arcompact_handle01_01_01_0f(PARAMS); break; // BBIT1 (reg-imm)
266   }
267
268   return 0;
269}
270
271ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04(OPS_32)
272{
273   UINT8 subinstr = (op & 0x003f0000) >> 16;
274
275   switch (subinstr)
276   {
277      case 0x00: return arcompact_handle04_00(PARAMS); break; // ADD
278      case 0x01: return arcompact_handle04_01(PARAMS); break; // ADC
279      case 0x02: return arcompact_handle04_02(PARAMS); break; // SUB
280      case 0x03: return arcompact_handle04_03(PARAMS); break; // SBC
281      case 0x04: return arcompact_handle04_04(PARAMS); break; // AND
282      case 0x05: return arcompact_handle04_05(PARAMS); break; // OR
283      case 0x06: return arcompact_handle04_06(PARAMS); break; // BIC
284      case 0x07: return arcompact_handle04_07(PARAMS); break; // XOR
285      case 0x08: return arcompact_handle04_08(PARAMS); break; // MAX
286      case 0x09: return arcompact_handle04_09(PARAMS); break; // MIN
287      case 0x0a: return arcompact_handle04_0a(PARAMS); break; // MOV
288      case 0x0b: return arcompact_handle04_0b(PARAMS); break; // TST
289      case 0x0c: return arcompact_handle04_0c(PARAMS); break; // CMP
290      case 0x0d: return arcompact_handle04_0d(PARAMS); break; // RCMP
291      case 0x0e: return arcompact_handle04_0e(PARAMS); break; // RSUB
292      case 0x0f: return arcompact_handle04_0f(PARAMS); break; // BSET
293      case 0x10: return arcompact_handle04_10(PARAMS); break; // BCLR
294      case 0x11: return arcompact_handle04_11(PARAMS); break; // BTST
295      case 0x12: return arcompact_handle04_12(PARAMS); break; // BXOR
296      case 0x13: return arcompact_handle04_13(PARAMS); break; // BMSK
297      case 0x14: return arcompact_handle04_14(PARAMS); break; // ADD1
298      case 0x15: return arcompact_handle04_15(PARAMS); break; // ADD2
299      case 0x16: return arcompact_handle04_16(PARAMS); break; // ADD3
300      case 0x17: return arcompact_handle04_17(PARAMS); break; // SUB1
301      case 0x18: return arcompact_handle04_18(PARAMS); break; // SUB2
302      case 0x19: return arcompact_handle04_19(PARAMS); break; // SUB3
303      case 0x1a: return arcompact_handle04_1a(PARAMS); break; // MPY *
304      case 0x1b: return arcompact_handle04_1b(PARAMS); break; // MPYH *
305      case 0x1c: return arcompact_handle04_1c(PARAMS); break; // MPYHU *
306      case 0x1d: return arcompact_handle04_1d(PARAMS); break; // MPYU *
307      case 0x1e: return arcompact_handle04_1e(PARAMS); break; // illegal
308      case 0x1f: return arcompact_handle04_1f(PARAMS); break; // illegal
309      case 0x20: return arcompact_handle04_20(PARAMS); break; // Jcc
310      case 0x21: return arcompact_handle04_21(PARAMS); break; // Jcc.D
311      case 0x22: return arcompact_handle04_22(PARAMS); break; // JLcc
312      case 0x23: return arcompact_handle04_23(PARAMS); break; // JLcc.D
313      case 0x24: return arcompact_handle04_24(PARAMS); break; // illegal
314      case 0x25: return arcompact_handle04_25(PARAMS); break; // illegal
315      case 0x26: return arcompact_handle04_26(PARAMS); break; // illegal
316      case 0x27: return arcompact_handle04_27(PARAMS); break; // illegal
317      case 0x28: return arcompact_handle04_28(PARAMS); break; // LPcc
318      case 0x29: return arcompact_handle04_29(PARAMS); break; // FLAG
319      case 0x2a: return arcompact_handle04_2a(PARAMS); break; // LR
320      case 0x2b: return arcompact_handle04_2b(PARAMS); break; // SR
321      case 0x2c: return arcompact_handle04_2c(PARAMS); break; // illegal
322      case 0x2d: return arcompact_handle04_2d(PARAMS); break; // illegal
323      case 0x2e: return arcompact_handle04_2e(PARAMS); break; // illegal
324      case 0x2f: return arcompact_handle04_2f(PARAMS); break; // Sub Opcode
325      case 0x30: return arcompact_handle04_30(PARAMS); break; // LD r-r
326      case 0x31: return arcompact_handle04_31(PARAMS); break; // LD r-r
327      case 0x32: return arcompact_handle04_32(PARAMS); break; // LD r-r
328      case 0x33: return arcompact_handle04_33(PARAMS); break; // LD r-r
329      case 0x34: return arcompact_handle04_34(PARAMS); break; // LD r-r
330      case 0x35: return arcompact_handle04_35(PARAMS); break; // LD r-r
331      case 0x36: return arcompact_handle04_36(PARAMS); break; // LD r-r
332      case 0x37: return arcompact_handle04_37(PARAMS); break; // LD r-r
333      case 0x38: return arcompact_handle04_38(PARAMS); break; // illegal
334      case 0x39: return arcompact_handle04_39(PARAMS); break; // illegal
335      case 0x3a: return arcompact_handle04_3a(PARAMS); break; // illegal
336      case 0x3b: return arcompact_handle04_3b(PARAMS); break; // illegal
337      case 0x3c: return arcompact_handle04_3c(PARAMS); break; // illegal
338      case 0x3d: return arcompact_handle04_3d(PARAMS); break; // illegal
339      case 0x3e: return arcompact_handle04_3e(PARAMS); break; // illegal
340      case 0x3f: return arcompact_handle04_3f(PARAMS); break; // illegal
341   }
342
343   return 0;
344}
345
346ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f(OPS_32)
347{
348   UINT8 subinstr2 = (op & 0x0000003f) >> 0;
349
350   switch (subinstr2)
351   {
352      case 0x00: return arcompact_handle04_2f_00(PARAMS); break; // ASL
353      case 0x01: return arcompact_handle04_2f_01(PARAMS); break; // ASR
354      case 0x02: return arcompact_handle04_2f_02(PARAMS); break; // LSR
355      case 0x03: return arcompact_handle04_2f_03(PARAMS); break; // ROR
356      case 0x04: return arcompact_handle04_2f_04(PARAMS); break; // RCC
357      case 0x05: return arcompact_handle04_2f_05(PARAMS); break; // SEXB
358      case 0x06: return arcompact_handle04_2f_06(PARAMS); break; // SEXW
359      case 0x07: return arcompact_handle04_2f_07(PARAMS); break; // EXTB
360      case 0x08: return arcompact_handle04_2f_08(PARAMS); break; // EXTW
361      case 0x09: return arcompact_handle04_2f_09(PARAMS); break; // ABS
362      case 0x0a: return arcompact_handle04_2f_0a(PARAMS); break; // NOT
363      case 0x0b: return arcompact_handle04_2f_0b(PARAMS); break; // RLC
364      case 0x0c: return arcompact_handle04_2f_0c(PARAMS); break; // EX
365      case 0x0d: return arcompact_handle04_2f_0d(PARAMS); break; // illegal
366      case 0x0e: return arcompact_handle04_2f_0e(PARAMS); break; // illegal
367      case 0x0f: return arcompact_handle04_2f_0f(PARAMS); break; // illegal
368      case 0x10: return arcompact_handle04_2f_10(PARAMS); break; // illegal
369      case 0x11: return arcompact_handle04_2f_11(PARAMS); break; // illegal
370      case 0x12: return arcompact_handle04_2f_12(PARAMS); break; // illegal
371      case 0x13: return arcompact_handle04_2f_13(PARAMS); break; // illegal
372      case 0x14: return arcompact_handle04_2f_14(PARAMS); break; // illegal
373      case 0x15: return arcompact_handle04_2f_15(PARAMS); break; // illegal
374      case 0x16: return arcompact_handle04_2f_16(PARAMS); break; // illegal
375      case 0x17: return arcompact_handle04_2f_17(PARAMS); break; // illegal
376      case 0x18: return arcompact_handle04_2f_18(PARAMS); break; // illegal
377      case 0x19: return arcompact_handle04_2f_19(PARAMS); break; // illegal
378      case 0x1a: return arcompact_handle04_2f_1a(PARAMS); break; // illegal
379      case 0x1b: return arcompact_handle04_2f_1b(PARAMS); break; // illegal
380      case 0x1c: return arcompact_handle04_2f_1c(PARAMS); break; // illegal
381      case 0x1d: return arcompact_handle04_2f_1d(PARAMS); break; // illegal
382      case 0x1e: return arcompact_handle04_2f_1e(PARAMS); break; // illegal
383      case 0x1f: return arcompact_handle04_2f_1f(PARAMS); break; // illegal
384      case 0x20: return arcompact_handle04_2f_20(PARAMS); break; // illegal
385      case 0x21: return arcompact_handle04_2f_21(PARAMS); break; // illegal
386      case 0x22: return arcompact_handle04_2f_22(PARAMS); break; // illegal
387      case 0x23: return arcompact_handle04_2f_23(PARAMS); break; // illegal
388      case 0x24: return arcompact_handle04_2f_24(PARAMS); break; // illegal
389      case 0x25: return arcompact_handle04_2f_25(PARAMS); break; // illegal
390      case 0x26: return arcompact_handle04_2f_26(PARAMS); break; // illegal
391      case 0x27: return arcompact_handle04_2f_27(PARAMS); break; // illegal
392      case 0x28: return arcompact_handle04_2f_28(PARAMS); break; // illegal
393      case 0x29: return arcompact_handle04_2f_29(PARAMS); break; // illegal
394      case 0x2a: return arcompact_handle04_2f_2a(PARAMS); break; // illegal
395      case 0x2b: return arcompact_handle04_2f_2b(PARAMS); break; // illegal
396      case 0x2c: return arcompact_handle04_2f_2c(PARAMS); break; // illegal
397      case 0x2d: return arcompact_handle04_2f_2d(PARAMS); break; // illegal
398      case 0x2e: return arcompact_handle04_2f_2e(PARAMS); break; // illegal
399      case 0x2f: return arcompact_handle04_2f_2f(PARAMS); break; // illegal
400      case 0x30: return arcompact_handle04_2f_30(PARAMS); break; // illegal
401      case 0x31: return arcompact_handle04_2f_31(PARAMS); break; // illegal
402      case 0x32: return arcompact_handle04_2f_32(PARAMS); break; // illegal
403      case 0x33: return arcompact_handle04_2f_33(PARAMS); break; // illegal
404      case 0x34: return arcompact_handle04_2f_34(PARAMS); break; // illegal
405      case 0x35: return arcompact_handle04_2f_35(PARAMS); break; // illegal
406      case 0x36: return arcompact_handle04_2f_36(PARAMS); break; // illegal
407      case 0x37: return arcompact_handle04_2f_37(PARAMS); break; // illegal
408      case 0x38: return arcompact_handle04_2f_38(PARAMS); break; // illegal
409      case 0x39: return arcompact_handle04_2f_39(PARAMS); break; // illegal
410      case 0x3a: return arcompact_handle04_2f_3a(PARAMS); break; // illegal
411      case 0x3b: return arcompact_handle04_2f_3b(PARAMS); break; // illegal
412      case 0x3c: return arcompact_handle04_2f_3c(PARAMS); break; // illegal
413      case 0x3d: return arcompact_handle04_2f_3d(PARAMS); break; // illegal
414      case 0x3e: return arcompact_handle04_2f_3e(PARAMS); break; // illegal
415      case 0x3f: return arcompact_handle04_2f_3f(PARAMS); break; // ZOPs (Zero Operand Opcodes)
416   }
417
418   return 0;
419}
420
421
422ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f(OPS_32)
423{
424   UINT8 subinstr2 = (op & 0x0000003f) >> 0;
425
426   switch (subinstr2)
427   {
428      case 0x00: return arcompact_handle05_2f_00(PARAMS); break; // SWAP
429      case 0x01: return arcompact_handle05_2f_01(PARAMS); break; // NORM
430      case 0x02: return arcompact_handle05_2f_02(PARAMS); break; // SAT16
431      case 0x03: return arcompact_handle05_2f_03(PARAMS); break; // RND16
432      case 0x04: return arcompact_handle05_2f_04(PARAMS); break; // ABSSW
433      case 0x05: return arcompact_handle05_2f_05(PARAMS); break; // ABSS
434      case 0x06: return arcompact_handle05_2f_06(PARAMS); break; // NEGSW
435      case 0x07: return arcompact_handle05_2f_07(PARAMS); break; // NEGS
436      case 0x08: return arcompact_handle05_2f_08(PARAMS); break; // NORMW
437      case 0x09: return arcompact_handle05_2f_09(PARAMS); break; // illegal
438      case 0x0a: return arcompact_handle05_2f_0a(PARAMS); break; // illegal
439      case 0x0b: return arcompact_handle05_2f_0b(PARAMS); break; // illegal
440      case 0x0c: return arcompact_handle05_2f_0c(PARAMS); break; // illegal
441      case 0x0d: return arcompact_handle05_2f_0d(PARAMS); break; // illegal
442      case 0x0e: return arcompact_handle05_2f_0e(PARAMS); break; // illegal
443      case 0x0f: return arcompact_handle05_2f_0f(PARAMS); break; // illegal
444      case 0x10: return arcompact_handle05_2f_10(PARAMS); break; // illegal
445      case 0x11: return arcompact_handle05_2f_11(PARAMS); break; // illegal
446      case 0x12: return arcompact_handle05_2f_12(PARAMS); break; // illegal
447      case 0x13: return arcompact_handle05_2f_13(PARAMS); break; // illegal
448      case 0x14: return arcompact_handle05_2f_14(PARAMS); break; // illegal
449      case 0x15: return arcompact_handle05_2f_15(PARAMS); break; // illegal
450      case 0x16: return arcompact_handle05_2f_16(PARAMS); break; // illegal
451      case 0x17: return arcompact_handle05_2f_17(PARAMS); break; // illegal
452      case 0x18: return arcompact_handle05_2f_18(PARAMS); break; // illegal
453      case 0x19: return arcompact_handle05_2f_19(PARAMS); break; // illegal
454      case 0x1a: return arcompact_handle05_2f_1a(PARAMS); break; // illegal
455      case 0x1b: return arcompact_handle05_2f_1b(PARAMS); break; // illegal
456      case 0x1c: return arcompact_handle05_2f_1c(PARAMS); break; // illegal
457      case 0x1d: return arcompact_handle05_2f_1d(PARAMS); break; // illegal
458      case 0x1e: return arcompact_handle05_2f_1e(PARAMS); break; // illegal
459      case 0x1f: return arcompact_handle05_2f_1f(PARAMS); break; // illegal
460      case 0x20: return arcompact_handle05_2f_20(PARAMS); break; // illegal
461      case 0x21: return arcompact_handle05_2f_21(PARAMS); break; // illegal
462      case 0x22: return arcompact_handle05_2f_22(PARAMS); break; // illegal
463      case 0x23: return arcompact_handle05_2f_23(PARAMS); break; // illegal
464      case 0x24: return arcompact_handle05_2f_24(PARAMS); break; // illegal
465      case 0x25: return arcompact_handle05_2f_25(PARAMS); break; // illegal
466      case 0x26: return arcompact_handle05_2f_26(PARAMS); break; // illegal
467      case 0x27: return arcompact_handle05_2f_27(PARAMS); break; // illegal
468      case 0x28: return arcompact_handle05_2f_28(PARAMS); break; // illegal
469      case 0x29: return arcompact_handle05_2f_29(PARAMS); break; // illegal
470      case 0x2a: return arcompact_handle05_2f_2a(PARAMS); break; // illegal
471      case 0x2b: return arcompact_handle05_2f_2b(PARAMS); break; // illegal
472      case 0x2c: return arcompact_handle05_2f_2c(PARAMS); break; // illegal
473      case 0x2d: return arcompact_handle05_2f_2d(PARAMS); break; // illegal
474      case 0x2e: return arcompact_handle05_2f_2e(PARAMS); break; // illegal
475      case 0x2f: return arcompact_handle05_2f_2f(PARAMS); break; // illegal
476      case 0x30: return arcompact_handle05_2f_30(PARAMS); break; // illegal
477      case 0x31: return arcompact_handle05_2f_31(PARAMS); break; // illegal
478      case 0x32: return arcompact_handle05_2f_32(PARAMS); break; // illegal
479      case 0x33: return arcompact_handle05_2f_33(PARAMS); break; // illegal
480      case 0x34: return arcompact_handle05_2f_34(PARAMS); break; // illegal
481      case 0x35: return arcompact_handle05_2f_35(PARAMS); break; // illegal
482      case 0x36: return arcompact_handle05_2f_36(PARAMS); break; // illegal
483      case 0x37: return arcompact_handle05_2f_37(PARAMS); break; // illegal
484      case 0x38: return arcompact_handle05_2f_38(PARAMS); break; // illegal
485      case 0x39: return arcompact_handle05_2f_39(PARAMS); break; // illegal
486      case 0x3a: return arcompact_handle05_2f_3a(PARAMS); break; // illegal
487      case 0x3b: return arcompact_handle05_2f_3b(PARAMS); break; // illegal
488      case 0x3c: return arcompact_handle05_2f_3c(PARAMS); break; // illegal
489      case 0x3d: return arcompact_handle05_2f_3d(PARAMS); break; // illegal
490      case 0x3e: return arcompact_handle05_2f_3e(PARAMS); break; // illegal
491      case 0x3f: return arcompact_handle05_2f_3f(PARAMS); break; // ZOPs (Zero Operand Opcodes)
492   }
493
494   return 0;
495}
496
497ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f(OPS_32)
498{
499   UINT8 subinstr3 = (op & 0x07000000) >> 24;
500   subinstr3 |= ((op & 0x00007000) >> 12) << 3;
501
502   switch (subinstr3)
503   {
504      case 0x00: return arcompact_handle04_2f_3f_00(PARAMS); break; // illegal
505      case 0x01: return arcompact_handle04_2f_3f_01(PARAMS); break; // SLEEP
506      case 0x02: return arcompact_handle04_2f_3f_02(PARAMS); break; // SWI / TRAP9
507      case 0x03: return arcompact_handle04_2f_3f_03(PARAMS); break; // SYNC
508      case 0x04: return arcompact_handle04_2f_3f_04(PARAMS); break; // RTIE
509      case 0x05: return arcompact_handle04_2f_3f_05(PARAMS); break; // BRK
510      case 0x06: return arcompact_handle04_2f_3f_06(PARAMS); break; // illegal
511      case 0x07: return arcompact_handle04_2f_3f_07(PARAMS); break; // illegal
512      case 0x08: return arcompact_handle04_2f_3f_08(PARAMS); break; // illegal
513      case 0x09: return arcompact_handle04_2f_3f_09(PARAMS); break; // illegal
514      case 0x0a: return arcompact_handle04_2f_3f_0a(PARAMS); break; // illegal
515      case 0x0b: return arcompact_handle04_2f_3f_0b(PARAMS); break; // illegal
516      case 0x0c: return arcompact_handle04_2f_3f_0c(PARAMS); break; // illegal
517      case 0x0d: return arcompact_handle04_2f_3f_0d(PARAMS); break; // illegal
518      case 0x0e: return arcompact_handle04_2f_3f_0e(PARAMS); break; // illegal
519      case 0x0f: return arcompact_handle04_2f_3f_0f(PARAMS); break; // illegal
520      case 0x10: return arcompact_handle04_2f_3f_10(PARAMS); break; // illegal
521      case 0x11: return arcompact_handle04_2f_3f_11(PARAMS); break; // illegal
522      case 0x12: return arcompact_handle04_2f_3f_12(PARAMS); break; // illegal
523      case 0x13: return arcompact_handle04_2f_3f_13(PARAMS); break; // illegal
524      case 0x14: return arcompact_handle04_2f_3f_14(PARAMS); break; // illegal
525      case 0x15: return arcompact_handle04_2f_3f_15(PARAMS); break; // illegal
526      case 0x16: return arcompact_handle04_2f_3f_16(PARAMS); break; // illegal
527      case 0x17: return arcompact_handle04_2f_3f_17(PARAMS); break; // illegal
528      case 0x18: return arcompact_handle04_2f_3f_18(PARAMS); break; // illegal
529      case 0x19: return arcompact_handle04_2f_3f_19(PARAMS); break; // illegal
530      case 0x1a: return arcompact_handle04_2f_3f_1a(PARAMS); break; // illegal
531      case 0x1b: return arcompact_handle04_2f_3f_1b(PARAMS); break; // illegal
532      case 0x1c: return arcompact_handle04_2f_3f_1c(PARAMS); break; // illegal
533      case 0x1d: return arcompact_handle04_2f_3f_1d(PARAMS); break; // illegal
534      case 0x1e: return arcompact_handle04_2f_3f_1e(PARAMS); break; // illegal
535      case 0x1f: return arcompact_handle04_2f_3f_1f(PARAMS); break; // illegal
536      case 0x20: return arcompact_handle04_2f_3f_20(PARAMS); break; // illegal
537      case 0x21: return arcompact_handle04_2f_3f_21(PARAMS); break; // illegal
538      case 0x22: return arcompact_handle04_2f_3f_22(PARAMS); break; // illegal
539      case 0x23: return arcompact_handle04_2f_3f_23(PARAMS); break; // illegal
540      case 0x24: return arcompact_handle04_2f_3f_24(PARAMS); break; // illegal
541      case 0x25: return arcompact_handle04_2f_3f_25(PARAMS); break; // illegal
542      case 0x26: return arcompact_handle04_2f_3f_26(PARAMS); break; // illegal
543      case 0x27: return arcompact_handle04_2f_3f_27(PARAMS); break; // illegal
544      case 0x28: return arcompact_handle04_2f_3f_28(PARAMS); break; // illegal
545      case 0x29: return arcompact_handle04_2f_3f_29(PARAMS); break; // illegal
546      case 0x2a: return arcompact_handle04_2f_3f_2a(PARAMS); break; // illegal
547      case 0x2b: return arcompact_handle04_2f_3f_2b(PARAMS); break; // illegal
548      case 0x2c: return arcompact_handle04_2f_3f_2c(PARAMS); break; // illegal
549      case 0x2d: return arcompact_handle04_2f_3f_2d(PARAMS); break; // illegal
550      case 0x2e: return arcompact_handle04_2f_3f_2e(PARAMS); break; // illegal
551      case 0x2f: return arcompact_handle04_2f_3f_2f(PARAMS); break; // illegal
552      case 0x30: return arcompact_handle04_2f_3f_30(PARAMS); break; // illegal
553      case 0x31: return arcompact_handle04_2f_3f_31(PARAMS); break; // illegal
554      case 0x32: return arcompact_handle04_2f_3f_32(PARAMS); break; // illegal
555      case 0x33: return arcompact_handle04_2f_3f_33(PARAMS); break; // illegal
556      case 0x34: return arcompact_handle04_2f_3f_34(PARAMS); break; // illegal
557      case 0x35: return arcompact_handle04_2f_3f_35(PARAMS); break; // illegal
558      case 0x36: return arcompact_handle04_2f_3f_36(PARAMS); break; // illegal
559      case 0x37: return arcompact_handle04_2f_3f_37(PARAMS); break; // illegal
560      case 0x38: return arcompact_handle04_2f_3f_38(PARAMS); break; // illegal
561      case 0x39: return arcompact_handle04_2f_3f_39(PARAMS); break; // illegal
562      case 0x3a: return arcompact_handle04_2f_3f_3a(PARAMS); break; // illegal
563      case 0x3b: return arcompact_handle04_2f_3f_3b(PARAMS); break; // illegal
564      case 0x3c: return arcompact_handle04_2f_3f_3c(PARAMS); break; // illegal
565      case 0x3d: return arcompact_handle04_2f_3f_3d(PARAMS); break; // illegal
566      case 0x3e: return arcompact_handle04_2f_3f_3e(PARAMS); break; // illegal
567      case 0x3f: return arcompact_handle04_2f_3f_3f(PARAMS); break; // illegal
568   }
569
570   return 0;
571}
572
573
574ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f(OPS_32) // useless ZOP group, no actual opcodes
575{
576   UINT8 subinstr3 = (op & 0x07000000) >> 24;
577   subinstr3 |= ((op & 0x00007000) >> 12) << 3;
578
579   switch (subinstr3)
580   {
581      case 0x00: return arcompact_handle05_2f_3f_00(PARAMS); break; // illegal
582      case 0x01: return arcompact_handle05_2f_3f_01(PARAMS); break; // illegal
583      case 0x02: return arcompact_handle05_2f_3f_02(PARAMS); break; // illegal
584      case 0x03: return arcompact_handle05_2f_3f_03(PARAMS); break; // illegal
585      case 0x04: return arcompact_handle05_2f_3f_04(PARAMS); break; // illegal
586      case 0x05: return arcompact_handle05_2f_3f_05(PARAMS); break; // illegal
587      case 0x06: return arcompact_handle05_2f_3f_06(PARAMS); break; // illegal
588      case 0x07: return arcompact_handle05_2f_3f_07(PARAMS); break; // illegal
589      case 0x08: return arcompact_handle05_2f_3f_08(PARAMS); break; // illegal
590      case 0x09: return arcompact_handle05_2f_3f_09(PARAMS); break; // illegal
591      case 0x0a: return arcompact_handle05_2f_3f_0a(PARAMS); break; // illegal
592      case 0x0b: return arcompact_handle05_2f_3f_0b(PARAMS); break; // illegal
593      case 0x0c: return arcompact_handle05_2f_3f_0c(PARAMS); break; // illegal
594      case 0x0d: return arcompact_handle05_2f_3f_0d(PARAMS); break; // illegal
595      case 0x0e: return arcompact_handle05_2f_3f_0e(PARAMS); break; // illegal
596      case 0x0f: return arcompact_handle05_2f_3f_0f(PARAMS); break; // illegal
597      case 0x10: return arcompact_handle05_2f_3f_10(PARAMS); break; // illegal
598      case 0x11: return arcompact_handle05_2f_3f_11(PARAMS); break; // illegal
599      case 0x12: return arcompact_handle05_2f_3f_12(PARAMS); break; // illegal
600      case 0x13: return arcompact_handle05_2f_3f_13(PARAMS); break; // illegal
601      case 0x14: return arcompact_handle05_2f_3f_14(PARAMS); break; // illegal
602      case 0x15: return arcompact_handle05_2f_3f_15(PARAMS); break; // illegal
603      case 0x16: return arcompact_handle05_2f_3f_16(PARAMS); break; // illegal
604      case 0x17: return arcompact_handle05_2f_3f_17(PARAMS); break; // illegal
605      case 0x18: return arcompact_handle05_2f_3f_18(PARAMS); break; // illegal
606      case 0x19: return arcompact_handle05_2f_3f_19(PARAMS); break; // illegal
607      case 0x1a: return arcompact_handle05_2f_3f_1a(PARAMS); break; // illegal
608      case 0x1b: return arcompact_handle05_2f_3f_1b(PARAMS); break; // illegal
609      case 0x1c: return arcompact_handle05_2f_3f_1c(PARAMS); break; // illegal
610      case 0x1d: return arcompact_handle05_2f_3f_1d(PARAMS); break; // illegal
611      case 0x1e: return arcompact_handle05_2f_3f_1e(PARAMS); break; // illegal
612      case 0x1f: return arcompact_handle05_2f_3f_1f(PARAMS); break; // illegal
613      case 0x20: return arcompact_handle05_2f_3f_20(PARAMS); break; // illegal
614      case 0x21: return arcompact_handle05_2f_3f_21(PARAMS); break; // illegal
615      case 0x22: return arcompact_handle05_2f_3f_22(PARAMS); break; // illegal
616      case 0x23: return arcompact_handle05_2f_3f_23(PARAMS); break; // illegal
617      case 0x24: return arcompact_handle05_2f_3f_24(PARAMS); break; // illegal
618      case 0x25: return arcompact_handle05_2f_3f_25(PARAMS); break; // illegal
619      case 0x26: return arcompact_handle05_2f_3f_26(PARAMS); break; // illegal
620      case 0x27: return arcompact_handle05_2f_3f_27(PARAMS); break; // illegal
621      case 0x28: return arcompact_handle05_2f_3f_28(PARAMS); break; // illegal
622      case 0x29: return arcompact_handle05_2f_3f_29(PARAMS); break; // illegal
623      case 0x2a: return arcompact_handle05_2f_3f_2a(PARAMS); break; // illegal
624      case 0x2b: return arcompact_handle05_2f_3f_2b(PARAMS); break; // illegal
625      case 0x2c: return arcompact_handle05_2f_3f_2c(PARAMS); break; // illegal
626      case 0x2d: return arcompact_handle05_2f_3f_2d(PARAMS); break; // illegal
627      case 0x2e: return arcompact_handle05_2f_3f_2e(PARAMS); break; // illegal
628      case 0x2f: return arcompact_handle05_2f_3f_2f(PARAMS); break; // illegal
629      case 0x30: return arcompact_handle05_2f_3f_30(PARAMS); break; // illegal
630      case 0x31: return arcompact_handle05_2f_3f_31(PARAMS); break; // illegal
631      case 0x32: return arcompact_handle05_2f_3f_32(PARAMS); break; // illegal
632      case 0x33: return arcompact_handle05_2f_3f_33(PARAMS); break; // illegal
633      case 0x34: return arcompact_handle05_2f_3f_34(PARAMS); break; // illegal
634      case 0x35: return arcompact_handle05_2f_3f_35(PARAMS); break; // illegal
635      case 0x36: return arcompact_handle05_2f_3f_36(PARAMS); break; // illegal
636      case 0x37: return arcompact_handle05_2f_3f_37(PARAMS); break; // illegal
637      case 0x38: return arcompact_handle05_2f_3f_38(PARAMS); break; // illegal
638      case 0x39: return arcompact_handle05_2f_3f_39(PARAMS); break; // illegal
639      case 0x3a: return arcompact_handle05_2f_3f_3a(PARAMS); break; // illegal
640      case 0x3b: return arcompact_handle05_2f_3f_3b(PARAMS); break; // illegal
641      case 0x3c: return arcompact_handle05_2f_3f_3c(PARAMS); break; // illegal
642      case 0x3d: return arcompact_handle05_2f_3f_3d(PARAMS); break; // illegal
643      case 0x3e: return arcompact_handle05_2f_3f_3e(PARAMS); break; // illegal
644      case 0x3f: return arcompact_handle05_2f_3f_3f(PARAMS); break; // illegal
645   }
646
647   return 0;
648}
649
650
651// this is an Extension ALU group, maybe optional on some CPUs?
652ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05(OPS_32)
653{
654   UINT8 subinstr = (op & 0x003f0000) >> 16;
655
656   switch (subinstr)
657   {
658      case 0x00: return arcompact_handle05_00(PARAMS); break; // ASL
659      case 0x01: return arcompact_handle05_01(PARAMS); break; // LSR
660      case 0x02: return arcompact_handle05_02(PARAMS); break; // ASR
661      case 0x03: return arcompact_handle05_03(PARAMS); break; // ROR
662      case 0x04: return arcompact_handle05_04(PARAMS); break; // MUL64
663      case 0x05: return arcompact_handle05_05(PARAMS); break; // MULU64
664      case 0x06: return arcompact_handle05_06(PARAMS); break; // ADDS
665      case 0x07: return arcompact_handle05_07(PARAMS); break; // SUBS
666      case 0x08: return arcompact_handle05_08(PARAMS); break; // DIVAW
667      case 0x09: return arcompact_handle05_09(PARAMS); break; // illegal
668      case 0x0a: return arcompact_handle05_0a(PARAMS); break; // ASLS
669      case 0x0b: return arcompact_handle05_0b(PARAMS); break; // ASRS
670      case 0x0c: return arcompact_handle05_0c(PARAMS); break; // illegal
671      case 0x0d: return arcompact_handle05_0d(PARAMS); break; // illegal
672      case 0x0e: return arcompact_handle05_0e(PARAMS); break; // illegal
673      case 0x0f: return arcompact_handle05_0f(PARAMS); break; // illegal
674      case 0x10: return arcompact_handle05_10(PARAMS); break; // illegal
675      case 0x11: return arcompact_handle05_11(PARAMS); break; // illegal
676      case 0x12: return arcompact_handle05_12(PARAMS); break; // illegal
677      case 0x13: return arcompact_handle05_13(PARAMS); break; // illegal
678      case 0x14: return arcompact_handle05_14(PARAMS); break; // illegal
679      case 0x15: return arcompact_handle05_15(PARAMS); break; // illegal
680      case 0x16: return arcompact_handle05_16(PARAMS); break; // illegal
681      case 0x17: return arcompact_handle05_17(PARAMS); break; // illegal
682      case 0x18: return arcompact_handle05_18(PARAMS); break; // illegal
683      case 0x19: return arcompact_handle05_19(PARAMS); break; // illegal
684      case 0x1a: return arcompact_handle05_1a(PARAMS); break; // illegal
685      case 0x1b: return arcompact_handle05_1b(PARAMS); break; // illegal
686      case 0x1c: return arcompact_handle05_1c(PARAMS); break; // illegal
687      case 0x1d: return arcompact_handle05_1d(PARAMS); break; // illegal
688      case 0x1e: return arcompact_handle05_1e(PARAMS); break; // illegal
689      case 0x1f: return arcompact_handle05_1f(PARAMS); break; // illegal
690      case 0x20: return arcompact_handle05_20(PARAMS); break; // illegal
691      case 0x21: return arcompact_handle05_21(PARAMS); break; // illegal
692      case 0x22: return arcompact_handle05_22(PARAMS); break; // illegal
693      case 0x23: return arcompact_handle05_23(PARAMS); break; // illegal
694      case 0x24: return arcompact_handle05_24(PARAMS); break; // illegal
695      case 0x25: return arcompact_handle05_25(PARAMS); break; // illegal
696      case 0x26: return arcompact_handle05_26(PARAMS); break; // illegal
697      case 0x27: return arcompact_handle05_27(PARAMS); break; // illegal
698      case 0x28: return arcompact_handle05_28(PARAMS); break; // ADDSDW
699      case 0x29: return arcompact_handle05_29(PARAMS); break; // SUBSDW
700      case 0x2a: return arcompact_handle05_2a(PARAMS); break; // illegal
701      case 0x2b: return arcompact_handle05_2b(PARAMS); break; // illegal
702      case 0x2c: return arcompact_handle05_2c(PARAMS); break; // illegal
703      case 0x2d: return arcompact_handle05_2d(PARAMS); break; // illegal
704      case 0x2e: return arcompact_handle05_2e(PARAMS); break; // illegal
705      case 0x2f: return arcompact_handle05_2f(PARAMS); break; // SOPs
706      case 0x30: return arcompact_handle05_30(PARAMS); break; // illegal
707      case 0x31: return arcompact_handle05_31(PARAMS); break; // illegal
708      case 0x32: return arcompact_handle05_32(PARAMS); break; // illegal
709      case 0x33: return arcompact_handle05_33(PARAMS); break; // illegal
710      case 0x34: return arcompact_handle05_34(PARAMS); break; // illegal
711      case 0x35: return arcompact_handle05_35(PARAMS); break; // illegal
712      case 0x36: return arcompact_handle05_36(PARAMS); break; // illegal
713      case 0x37: return arcompact_handle05_37(PARAMS); break; // illegal
714      case 0x38: return arcompact_handle05_38(PARAMS); break; // illegal
715      case 0x39: return arcompact_handle05_39(PARAMS); break; // illegal
716      case 0x3a: return arcompact_handle05_3a(PARAMS); break; // illegal
717      case 0x3b: return arcompact_handle05_3b(PARAMS); break; // illegal
718      case 0x3c: return arcompact_handle05_3c(PARAMS); break; // illegal
719      case 0x3d: return arcompact_handle05_3d(PARAMS); break; // illegal
720      case 0x3e: return arcompact_handle05_3e(PARAMS); break; // illegal
721      case 0x3f: return arcompact_handle05_3f(PARAMS); break; // illegal
722   }
723
724   return 0;
725}
726
727ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0c(OPS_16)
728{
729   UINT8 subinstr = (op & 0x0018) >> 3;
730
731   switch (subinstr)
732   {
733      case 0x00: return arcompact_handle0c_00(PARAMS); break; // LD_S
734      case 0x01: return arcompact_handle0c_01(PARAMS); break; // LDB_S
735      case 0x02: return arcompact_handle0c_02(PARAMS); break; // LDW_S
736      case 0x03: return arcompact_handle0c_03(PARAMS); break; // ADD_S
737   }
738
739   return 0;
740}
741
742ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d(OPS_16)
743{
744   UINT8 subinstr = (op & 0x0018) >> 3;
745
746   switch (subinstr)
747   {
748      case 0x00: return arcompact_handle0d_00(PARAMS); break; // ADD_S
749      case 0x01: return arcompact_handle0d_01(PARAMS); break; // SUB_S
750      case 0x02: return arcompact_handle0d_02(PARAMS); break; // ASL_S
751      case 0x03: return arcompact_handle0d_03(PARAMS); break; // ASR_S
752   }
753
754   return 0;
755}
756
757ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0e(OPS_16)
758{
759   UINT8 subinstr = (op & 0x0018) >> 3;
760
761   switch (subinstr)
762   {
763      case 0x00: return arcompact_handle0e_00(PARAMS); break; // ADD_S
764      case 0x01: return arcompact_handle0e_01(PARAMS); break; // MOV_S
765      case 0x02: return arcompact_handle0e_02(PARAMS); break; // CMP_S
766      case 0x03: return arcompact_handle0e_03(PARAMS); break; // MOV_S
767   }
768
769   return 0;
770}
771
772ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f(OPS_16)
773{
774   UINT8 subinstr = (op & 0x01f) >> 0;
775
776   switch (subinstr)
777   {
778      case 0x00: return arcompact_handle0f_00(PARAMS); break; // SOPs
779      case 0x01: return arcompact_handle0f_01(PARAMS); break; // 0x01 <illegal>
780      case 0x02: return arcompact_handle0f_02(PARAMS); break; // SUB_S
781      case 0x03: return arcompact_handle0f_03(PARAMS); break; // 0x03 <illegal>
782      case 0x04: return arcompact_handle0f_04(PARAMS); break; // AND_S
783      case 0x05: return arcompact_handle0f_05(PARAMS); break; // OR_S
784      case 0x06: return arcompact_handle0f_06(PARAMS); break; // BIC_S
785      case 0x07: return arcompact_handle0f_07(PARAMS); break; // XOR_S
786      case 0x08: return arcompact_handle0f_08(PARAMS); break; // 0x08 <illegal>
787      case 0x09: return arcompact_handle0f_09(PARAMS); break; // 0x09 <illegal>
788      case 0x0a: return arcompact_handle0f_0a(PARAMS); break; // 0x0a <illegal>
789      case 0x0b: return arcompact_handle0f_0b(PARAMS); break; // TST_S
790      case 0x0c: return arcompact_handle0f_0c(PARAMS); break; // MUL64_S
791      case 0x0d: return arcompact_handle0f_0d(PARAMS); break; // SEXB_S
792      case 0x0e: return arcompact_handle0f_0e(PARAMS); break; // SEXW_S
793      case 0x0f: return arcompact_handle0f_0f(PARAMS); break; // EXTB_S
794      case 0x10: return arcompact_handle0f_10(PARAMS); break; // EXTW_S
795      case 0x11: return arcompact_handle0f_11(PARAMS); break; // ABS_S
796      case 0x12: return arcompact_handle0f_12(PARAMS); break; // NOT_S
797      case 0x13: return arcompact_handle0f_13(PARAMS); break; // NEG_S
798      case 0x14: return arcompact_handle0f_14(PARAMS); break; // ADD1_S
799      case 0x15: return arcompact_handle0f_15(PARAMS); break; // ADD2_S
800      case 0x16: return arcompact_handle0f_16(PARAMS); break; // ADD3_S
801      case 0x17: return arcompact_handle0f_17(PARAMS); break; // 0x17 <illegal>
802      case 0x18: return arcompact_handle0f_18(PARAMS); break; // ASL_S (multiple)
803      case 0x19: return arcompact_handle0f_19(PARAMS); break; // LSR_S (multiple)
804      case 0x1a: return arcompact_handle0f_1a(PARAMS); break; // ASR_S (multiple)
805      case 0x1b: return arcompact_handle0f_1b(PARAMS); break; // ASL_S (single)
806      case 0x1c: return arcompact_handle0f_1c(PARAMS); break; // LSR_S (single)
807      case 0x1d: return arcompact_handle0f_1d(PARAMS); break; // ASR_S (single)
808      case 0x1e: return arcompact_handle0f_1e(PARAMS); break; // TRAP (not a5?)
809      case 0x1f: return arcompact_handle0f_1f(PARAMS); break; // BRK_S ( 0x7fff only? )
810
811   }
812
813   return 0;
814}
815
816ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00(OPS_16)
817{
818   UINT8 subinstr = (op & 0x00e0) >> 5;
819
820   switch (subinstr)
821   {
822      case 0x00: return arcompact_handle0f_00_00(PARAMS); break; // J_S
823      case 0x01: return arcompact_handle0f_00_01(PARAMS); break; // J_S.D
824      case 0x02: return arcompact_handle0f_00_02(PARAMS); break; // JL_S
825      case 0x03: return arcompact_handle0f_00_03(PARAMS); break; // JL_S.D
826      case 0x04: return arcompact_handle0f_00_04(PARAMS); break; // 0x04 <illegal>
827      case 0x05: return arcompact_handle0f_00_05(PARAMS); break; // 0x05 <illegal>
828      case 0x06: return arcompact_handle0f_00_06(PARAMS); break; // SUB_S.NE
829      case 0x07: return arcompact_handle0f_00_07(PARAMS); break; // ZOPs
830
831   }
832
833   return 0;
834}
835
836ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07(OPS_16)
837{
838   UINT8 subinstr3 = (op & 0x0700) >> 8;
839
840   switch (subinstr3)
841   {
842      case 0x00: return arcompact_handle0f_00_07_00(PARAMS); break; // NOP_S
843      case 0x01: return arcompact_handle0f_00_07_01(PARAMS); break; // UNIMP_S
844      case 0x02: return arcompact_handle0f_00_07_02(PARAMS); break; // 0x02 <illegal>
845      case 0x03: return arcompact_handle0f_00_07_03(PARAMS); break; // 0x03 <illegal>
846      case 0x04: return arcompact_handle0f_00_07_04(PARAMS); break; // JEQ_S [BLINK]
847      case 0x05: return arcompact_handle0f_00_07_05(PARAMS); break; // JNE_S [BLINK]
848      case 0x06: return arcompact_handle0f_00_07_06(PARAMS); break; // J_S [BLINK]
849      case 0x07: return arcompact_handle0f_00_07_07(PARAMS); break; // J_S.D [BLINK]
850
851   }
852
853   return 0;
854}
855
856ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17(OPS_16)
857{
858   UINT8 subinstr = (op & 0x00e0) >> 5;
859
860   switch (subinstr)
861   {
862      case 0x00: return arcompact_handle17_00(PARAMS); break; // ASL_S
863      case 0x01: return arcompact_handle17_01(PARAMS); break; // LSR_S
864      case 0x02: return arcompact_handle17_02(PARAMS); break; // ASR_S
865      case 0x03: return arcompact_handle17_03(PARAMS); break; // SUB_S
866      case 0x04: return arcompact_handle17_04(PARAMS); break; // BSET_S
867      case 0x05: return arcompact_handle17_05(PARAMS); break; // BCLR_S
868      case 0x06: return arcompact_handle17_06(PARAMS); break; // BMSK_S
869      case 0x07: return arcompact_handle17_07(PARAMS); break; // BTST_S
870   }
871
872   return 0;
873}
874
875ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18(OPS_16)
876{
877   UINT8 subinstr = (op & 0x00e0) >> 5;
878
879   switch (subinstr)
880   {
881      case 0x00: return arcompact_handle18_00(PARAMS); break; // LD_S (SP)
882      case 0x01: return arcompact_handle18_01(PARAMS); break; // LDB_S (SP)
883      case 0x02: return arcompact_handle18_02(PARAMS); break; // ST_S (SP)
884      case 0x03: return arcompact_handle18_03(PARAMS); break; // STB_S (SP)
885      case 0x04: return arcompact_handle18_04(PARAMS); break; // ADD_S (SP)
886      case 0x05: return arcompact_handle18_05(PARAMS); break; // subtable 18_05
887      case 0x06: return arcompact_handle18_06(PARAMS); break; // subtable 18_06
888      case 0x07: return arcompact_handle18_07(PARAMS); break; // subtable 18_07
889   }
890
891   return 0;
892}
893
894ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05(OPS_16)
895{
896   UINT8 subinstr2 = (op & 0x0700) >> 8;
897
898   switch (subinstr2)
899   {
900      case 0x00: return arcompact_handle18_05_00(PARAMS); break; // ADD_S (SP)
901      case 0x01: return arcompact_handle18_05_01(PARAMS); break; // SUB_S (SP)
902      case 0x02: return arcompact_handle18_05_02(PARAMS); break; // <illegal 0x18_05_02>
903      case 0x03: return arcompact_handle18_05_03(PARAMS); break; // <illegal 0x18_05_03>
904      case 0x04: return arcompact_handle18_05_04(PARAMS); break; // <illegal 0x18_05_04>
905      case 0x05: return arcompact_handle18_05_05(PARAMS); break; // <illegal 0x18_05_05>
906      case 0x06: return arcompact_handle18_05_06(PARAMS); break; // <illegal 0x18_05_06>
907      case 0x07: return arcompact_handle18_05_07(PARAMS); break; // <illegal 0x18_05_07>
908   }
909
910   return 0;
911}
912
913ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06(OPS_16)
914{
915   UINT8 subinstr2 = (op & 0x001f) >> 0;
916
917   switch (subinstr2)
918   {
919      case 0x00: return arcompact_handle18_06_00(PARAMS); break; // <illegal 0x18_06_00>
920      case 0x01: return arcompact_handle18_06_01(PARAMS); break; // POP_S b
921      case 0x02: return arcompact_handle18_06_02(PARAMS); break; // <illegal 0x18_06_02>
922      case 0x03: return arcompact_handle18_06_03(PARAMS); break; // <illegal 0x18_06_03>
923      case 0x04: return arcompact_handle18_06_04(PARAMS); break; // <illegal 0x18_06_04>
924      case 0x05: return arcompact_handle18_06_05(PARAMS); break; // <illegal 0x18_06_05>
925      case 0x06: return arcompact_handle18_06_06(PARAMS); break; // <illegal 0x18_06_06>
926      case 0x07: return arcompact_handle18_06_07(PARAMS); break; // <illegal 0x18_06_07>
927      case 0x08: return arcompact_handle18_06_08(PARAMS); break; // <illegal 0x18_06_08>
928      case 0x09: return arcompact_handle18_06_09(PARAMS); break; // <illegal 0x18_06_09>
929      case 0x0a: return arcompact_handle18_06_0a(PARAMS); break; // <illegal 0x18_06_0a>
930      case 0x0b: return arcompact_handle18_06_0b(PARAMS); break; // <illegal 0x18_06_0b>
931      case 0x0c: return arcompact_handle18_06_0c(PARAMS); break; // <illegal 0x18_06_0c>
932      case 0x0d: return arcompact_handle18_06_0d(PARAMS); break; // <illegal 0x18_06_0d>
933      case 0x0e: return arcompact_handle18_06_0e(PARAMS); break; // <illegal 0x18_06_0e>
934      case 0x0f: return arcompact_handle18_06_0f(PARAMS); break; // <illegal 0x18_06_0f>
935      case 0x10: return arcompact_handle18_06_10(PARAMS); break; // <illegal 0x18_06_10>
936      case 0x11: return arcompact_handle18_06_11(PARAMS); break; // POP_S blink
937      case 0x12: return arcompact_handle18_06_12(PARAMS); break; // <illegal 0x18_06_12>
938      case 0x13: return arcompact_handle18_06_13(PARAMS); break; // <illegal 0x18_06_13>
939      case 0x14: return arcompact_handle18_06_14(PARAMS); break; // <illegal 0x18_06_14>
940      case 0x15: return arcompact_handle18_06_15(PARAMS); break; // <illegal 0x18_06_15>
941      case 0x16: return arcompact_handle18_06_16(PARAMS); break; // <illegal 0x18_06_16>
942      case 0x17: return arcompact_handle18_06_17(PARAMS); break; // <illegal 0x18_06_17>
943      case 0x18: return arcompact_handle18_06_18(PARAMS); break; // <illegal 0x18_06_18>
944      case 0x19: return arcompact_handle18_06_19(PARAMS); break; // <illegal 0x18_06_19>
945      case 0x1a: return arcompact_handle18_06_1a(PARAMS); break; // <illegal 0x18_06_1a>
946      case 0x1b: return arcompact_handle18_06_1b(PARAMS); break; // <illegal 0x18_06_1b>
947      case 0x1c: return arcompact_handle18_06_1c(PARAMS); break; // <illegal 0x18_06_1c>
948      case 0x1d: return arcompact_handle18_06_1d(PARAMS); break; // <illegal 0x18_06_1d>
949      case 0x1e: return arcompact_handle18_06_1e(PARAMS); break; // <illegal 0x18_06_1e>
950      case 0x1f: return arcompact_handle18_06_1f(PARAMS); break; // <illegal 0x18_06_1f>
951   }
952
953   return 0;
954}
955
956ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07(OPS_16)
957{
958   UINT8 subinstr2 = (op & 0x001f) >> 0;
959
960   switch (subinstr2)
961   {
962      case 0x00: return arcompact_handle18_07_00(PARAMS); break; // <illegal 0x18_07_00>
963      case 0x01: return arcompact_handle18_07_01(PARAMS); break; // PUSH_S b
964      case 0x02: return arcompact_handle18_07_02(PARAMS); break; // <illegal 0x18_07_02>
965      case 0x03: return arcompact_handle18_07_03(PARAMS); break; // <illegal 0x18_07_03>
966      case 0x04: return arcompact_handle18_07_04(PARAMS); break; // <illegal 0x18_07_04>
967      case 0x05: return arcompact_handle18_07_05(PARAMS); break; // <illegal 0x18_07_05>
968      case 0x06: return arcompact_handle18_07_06(PARAMS); break; // <illegal 0x18_07_06>
969      case 0x07: return arcompact_handle18_07_07(PARAMS); break; // <illegal 0x18_07_07>
970      case 0x08: return arcompact_handle18_07_08(PARAMS); break; // <illegal 0x18_07_08>
971      case 0x09: return arcompact_handle18_07_09(PARAMS); break; // <illegal 0x18_07_09>
972      case 0x0a: return arcompact_handle18_07_0a(PARAMS); break; // <illegal 0x18_07_0a>
973      case 0x0b: return arcompact_handle18_07_0b(PARAMS); break; // <illegal 0x18_07_0b>
974      case 0x0c: return arcompact_handle18_07_0c(PARAMS); break; // <illegal 0x18_07_0c>
975      case 0x0d: return arcompact_handle18_07_0d(PARAMS); break; // <illegal 0x18_07_0d>
976      case 0x0e: return arcompact_handle18_07_0e(PARAMS); break; // <illegal 0x18_07_0e>
977      case 0x0f: return arcompact_handle18_07_0f(PARAMS); break; // <illegal 0x18_07_0f>
978      case 0x10: return arcompact_handle18_07_10(PARAMS); break; // <illegal 0x18_07_10>
979      case 0x11: return arcompact_handle18_07_11(PARAMS); break; // PUSH_S blink
980      case 0x12: return arcompact_handle18_07_12(PARAMS); break; // <illegal 0x18_07_12>
981      case 0x13: return arcompact_handle18_07_13(PARAMS); break; // <illegal 0x18_07_13>
982      case 0x14: return arcompact_handle18_07_14(PARAMS); break; // <illegal 0x18_07_14>
983      case 0x15: return arcompact_handle18_07_15(PARAMS); break; // <illegal 0x18_07_15>
984      case 0x16: return arcompact_handle18_07_16(PARAMS); break; // <illegal 0x18_07_16>
985      case 0x17: return arcompact_handle18_07_17(PARAMS); break; // <illegal 0x18_07_17>
986      case 0x18: return arcompact_handle18_07_18(PARAMS); break; // <illegal 0x18_07_18>
987      case 0x19: return arcompact_handle18_07_19(PARAMS); break; // <illegal 0x18_07_19>
988      case 0x1a: return arcompact_handle18_07_1a(PARAMS); break; // <illegal 0x18_07_1a>
989      case 0x1b: return arcompact_handle18_07_1b(PARAMS); break; // <illegal 0x18_07_1b>
990      case 0x1c: return arcompact_handle18_07_1c(PARAMS); break; // <illegal 0x18_07_1c>
991      case 0x1d: return arcompact_handle18_07_1d(PARAMS); break; // <illegal 0x18_07_1d>
992      case 0x1e: return arcompact_handle18_07_1e(PARAMS); break; // <illegal 0x18_07_1e>
993      case 0x1f: return arcompact_handle18_07_1f(PARAMS); break; // <illegal 0x18_07_1f>
994   }
995
996   return 0;
997}
998
999ARCOMPACT_RETTYPE arcompact_device::arcompact_handle19(OPS_16)
1000{
1001   UINT8 subinstr = (op & 0x0600) >> 9;
1002
1003   switch (subinstr)
1004   {
1005      case 0x00: return arcompact_handle19_00(PARAMS); break; // LD_S (GP)
1006      case 0x01: return arcompact_handle19_01(PARAMS); break; // LDB_S (GP)
1007      case 0x02: return arcompact_handle19_02(PARAMS); break; // LDW_S (GP)
1008      case 0x03: return arcompact_handle19_03(PARAMS); break; // ADD_S (GP)
1009   }
1010
1011   return 0;
1012}
1013
1014ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1c(OPS_16)
1015{
1016   UINT8 subinstr = (op & 0x0080) >> 7;
1017
1018   switch (subinstr)
1019   {
1020      case 0x00: return arcompact_handle1c_00(PARAMS); break; // ADD_S
1021      case 0x01: return arcompact_handle1c_01(PARAMS); break; // CMP_S
1022   }
1023
1024   return 0;
1025}
1026
1027ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1d(OPS_16)
1028{
1029   UINT8 subinstr = (op & 0x0080) >> 7;
1030
1031   switch (subinstr)
1032   {
1033      case 0x00: return arcompact_handle1d_00(PARAMS); break; // BREQ_S
1034      case 0x01: return arcompact_handle1d_01(PARAMS); break; // BRNE_S
1035   }
1036
1037   return 0;
1038}
1039
1040ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e(OPS_16)
1041{
1042   UINT8 subinstr = (op & 0x0600) >> 9;
1043
1044   switch (subinstr)
1045   {
1046      case 0x00: return arcompact_handle1e_00(PARAMS); break; // B_S
1047      case 0x01: return arcompact_handle1e_01(PARAMS); break; // BEQ_S
1048      case 0x02: return arcompact_handle1e_02(PARAMS); break; // BNE_S
1049      case 0x03: return arcompact_handle1e_03(PARAMS); break; // Bcc_S
1050   }
1051
1052   return 0;
1053}
1054
1055ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03(OPS_16)
1056{
1057   UINT8 subinstr2 = (op & 0x01c0) >> 6;
1058
1059   switch (subinstr2)
1060   {
1061      case 0x00: return arcompact_handle1e_03_00(PARAMS); break; // BGT_S
1062      case 0x01: return arcompact_handle1e_03_01(PARAMS); break; // BGE_S
1063      case 0x02: return arcompact_handle1e_03_02(PARAMS); break; // BLT_S
1064      case 0x03: return arcompact_handle1e_03_03(PARAMS); break; // BLE_S
1065      case 0x04: return arcompact_handle1e_03_04(PARAMS); break; // BHI_S
1066      case 0x05: return arcompact_handle1e_03_05(PARAMS); break; // BHS_S
1067      case 0x06: return arcompact_handle1e_03_06(PARAMS); break; // BLO_S
1068      case 0x07: return arcompact_handle1e_03_07(PARAMS); break; // BLS_S
1069   }
1070
1071   return 0;
1072}
1073
1074// handlers
1075
1076
1077
1078ARCOMPACT_RETTYPE arcompact_device::arcompact_handle00_00(OPS_32)
1079{
1080   int size = 4;
1081   // Branch Conditionally
1082   arcompact_log("unimplemented Bcc %08x", op);
1083   return m_pc + (size>>0);
1084}
1085
1086ARCOMPACT_RETTYPE arcompact_device::arcompact_handle00_01(OPS_32)
1087{
1088   int size = 4;
1089   // Branch Unconditionally Far
1090   arcompact_log("unimplemented B %08x", op);
1091   return m_pc + (size>>0);
1092
1093}
1094
1095ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_00_00dasm(OPS_32)
1096{
1097   int size = 4;
1098
1099   // Branch and Link Conditionally
1100   arcompact_log("unimplemented BLcc %08x", op);
1101   return m_pc + (size>>0);
1102}
1103
1104ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_00_01dasm(OPS_32)
1105{
1106   int size = 4;
1107   // Branch and Link Unconditionally Far
1108   // 00001 sssssssss 10  SSSSSSSSSS N R TTTT
1109   INT32 address =   (op & 0x07fc0000) >> 17;
1110   address |=        ((op & 0x0000ffc0) >> 6) << 10;
1111   address |=        ((op & 0x0000000f) >> 0) << 20;
1112   if (address & 0x800000) address = -0x800000 + (address&0x7fffff);   
1113   int n = (op & 0x00000020) >> 5; op &= ~0x00000020;
1114//   int res =  (op & 0x00000010) >> 4; op &= ~0x00000010;
1115
1116   UINT32 realaddress = PC_ALIGNED32 + (address * 2);
1117
1118   if (n)
1119   {
1120      m_delayactive = 1;
1121      m_delayjump = realaddress;
1122      m_delaylinks = 1;
1123   }
1124   else
1125   {
1126      return realaddress;
1127   }
1128
1129
1130   return m_pc + (size>>0);
1131}
1132
1133
1134
1135ARCOMPACT_RETTYPE arcompact_device::arcompact_01_01_00_helper(OPS_32, const char* optext)
1136{
1137   int size = 4;
1138
1139   // Branch on Compare / Bit Test - Register-Register
1140
1141   int c = (op & 0x00000fc0) >> 6;
1142   COMMON32_GET_breg;
1143   //int n = (op & 0x00000020) >> 5;
1144
1145
1146   if ((breg != LIMM_REG) && (c != LIMM_REG))
1147   {
1148
1149   }
1150   else
1151   {
1152      //UINT32 limm;
1153      //GET_LIMM_32;
1154      size = 8;
1155   }
1156
1157   arcompact_log("unimplemented %s %08x", optext, op);
1158   return m_pc + (size>>0);
1159}
1160
1161
1162// register - register cases
1163ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_00(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BREQ"); }
1164ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_01(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BRNE"); }
1165ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_02(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BRLT"); }
1166ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_03(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BRGE"); }
1167ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_04(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BRLO"); }
1168ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_05(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BRHS"); }
1169ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_0e(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BBIT0");}
1170ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_0f(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BBIT1");}
1171
1172ARCOMPACT_RETTYPE arcompact_device::arcompact_01_01_01_helper(OPS_32, const char* optext)
1173{
1174   int size = 4;
1175   arcompact_log("unimplemented %s %08x", optext, op);
1176   return m_pc + (size>>0);
1177}
1178
1179// register -immediate cases
1180ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_00(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BREQ"); }
1181ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_01(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BRNE"); }
1182ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_02(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BRLT"); }
1183ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_03(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BRGE"); }
1184ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_04(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BRLO"); }
1185ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_05(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BRHS"); }
1186ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_0e(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BBIT0"); }
1187ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_0f(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BBIT1"); }
1188
1189
1190ARCOMPACT_RETTYPE arcompact_device::arcompact_handle02(OPS_32)
1191{
1192   int size = 4;
1193   COMMON32_GET_breg;
1194
1195   //UINT32 limm = 0;
1196   if (breg == LIMM_REG)
1197   {
1198      //GET_LIMM_32;
1199      size = 8;
1200   }
1201
1202   arcompact_log("unimplemented LD %08x", op);
1203   return m_pc + (size>>0);
1204
1205}
1206
1207ARCOMPACT_RETTYPE arcompact_device::arcompact_handle03(OPS_32)
1208{
1209   int size = 4;
1210   //UINT32 limm = 0;
1211   int got_limm = 0;
1212
1213   COMMON32_GET_breg;
1214   int C = (op & 0x00000fc0) >> 6;
1215   
1216   if (breg == LIMM_REG)
1217   {
1218      //GET_LIMM_32;
1219      size = 8;
1220      got_limm = 1;
1221   }
1222
1223   if (C == LIMM_REG)
1224   {
1225      if (!got_limm)
1226      {
1227         //GET_LIMM_32;
1228         size = 8;
1229      }
1230   }
1231   else
1232   {
1233
1234   }
1235
1236   arcompact_log("unimplemented ST %08x", op);
1237   return m_pc + (size>>0);
1238
1239}
1240
1241
1242ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_helper(OPS_32, const char* optext, int ignore_dst, int b_reserved)
1243{
1244   int size = 4;
1245   //UINT32 limm = 0;
1246   int got_limm = 0;
1247
1248   int p = (op & 0x00c00000) >> 22;
1249   COMMON32_GET_breg;
1250   
1251   if (!b_reserved)
1252   {
1253      if (breg == LIMM_REG)
1254      {
1255         //GET_LIMM_32;
1256         size = 8;
1257         got_limm = 1;
1258      }
1259      else
1260      {
1261      }
1262   }
1263   else
1264   {
1265   }
1266
1267
1268   if (p == 0)
1269   {
1270      int C = (op & 0x00000fc0) >> 6;
1271
1272      if (C == LIMM_REG)
1273      {
1274         if (!got_limm)
1275         {
1276            //GET_LIMM_32;
1277            size = 8;
1278         }
1279      }
1280      else
1281      {
1282      }
1283   }
1284   else if (p == 1)
1285   {
1286   }
1287   else if (p == 2)
1288   {
1289   }
1290   else if (p == 3)
1291   {
1292      int M = (op & 0x00000020) >> 5;
1293
1294      if (M == 0)
1295      {
1296         int C = (op & 0x00000fc0) >> 6;
1297
1298         if (C == LIMM_REG)
1299         {
1300            if (!got_limm)
1301            {
1302               //GET_LIMM_32;
1303               size = 8;
1304            }
1305         }
1306         else
1307         {
1308         }
1309
1310      }
1311      else if (M == 1)
1312      {
1313      }
1314
1315   }
1316
1317   arcompact_log("unimplemented %s %08x", optext, op);
1318
1319   return m_pc + (size>>0);
1320}
1321
1322ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_00(OPS_32) 
1323{
1324   return arcompact_handle04_helper(PARAMS, opcodes_04[0x00], /*"ADD"*/ 0,0);
1325}
1326
1327ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_01(OPS_32) 
1328{
1329   return arcompact_handle04_helper(PARAMS, opcodes_04[0x01], /*"ADC"*/ 0,0);
1330}
1331
1332ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_02(OPS_32) 
1333{
1334   return arcompact_handle04_helper(PARAMS, opcodes_04[0x02], /*"SUB"*/ 0,0);
1335}
1336
1337ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_03(OPS_32) 
1338{
1339   return arcompact_handle04_helper(PARAMS, opcodes_04[0x03], /*"SBC"*/ 0,0);
1340}
1341
1342ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_04(OPS_32) 
1343{
1344   return arcompact_handle04_helper(PARAMS, opcodes_04[0x04], /*"AND"*/ 0,0);
1345}
1346
1347ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_05(OPS_32) 
1348{
1349   return arcompact_handle04_helper(PARAMS, opcodes_04[0x05], /*"OR"*/ 0,0);
1350}
1351
1352ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_06(OPS_32) 
1353{
1354   return arcompact_handle04_helper(PARAMS, opcodes_04[0x06], /*"BIC"*/ 0,0);
1355}
1356
1357ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_07(OPS_32) 
1358{
1359   return arcompact_handle04_helper(PARAMS, opcodes_04[0x07], /*"XOR"*/ 0,0);
1360}
1361
1362ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_08(OPS_32) 
1363{
1364   return arcompact_handle04_helper(PARAMS, opcodes_04[0x08], /*"MAX"*/ 0,0);
1365}
1366
1367ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_09(OPS_32)
1368{
1369   return arcompact_handle04_helper(PARAMS, opcodes_04[0x09], /*"MIN"*/ 0,0);
1370}
1371
1372
1373ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_0a(OPS_32)
1374{
1375   return arcompact_handle04_helper(PARAMS, opcodes_04[0x0a], /*"MOV"*/ 1,0);
1376}
1377
1378ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_0b(OPS_32)
1379{
1380   return arcompact_handle04_helper(PARAMS, opcodes_04[0x0b], /*"TST"*/ 1,0);
1381}
1382
1383ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_0c(OPS_32)
1384{
1385   return arcompact_handle04_helper(PARAMS, opcodes_04[0x0c], /*"CMP"*/ 1,0);
1386}
1387
1388ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_0d(OPS_32)
1389{
1390   return arcompact_handle04_helper(PARAMS, opcodes_04[0x0d], /*"RCMP"*/ 1,0);
1391}
1392
1393ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_0e(OPS_32)
1394{
1395   return arcompact_handle04_helper(PARAMS, opcodes_04[0x0e], /*"RSUB"*/ 0,0);
1396}
1397
1398ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_0f(OPS_32) 
1399{
1400   return arcompact_handle04_helper(PARAMS, opcodes_04[0x0f], /*"BSET"*/ 0,0);
1401}
1402
1403ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_10(OPS_32) 
1404{
1405   return arcompact_handle04_helper(PARAMS, opcodes_04[0x10], /*"BCLR"*/ 0,0);
1406}
1407
1408ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_11(OPS_32) 
1409{
1410   return arcompact_handle04_helper(PARAMS, opcodes_04[0x11], /*"BTST"*/ 0,0);
1411}
1412
1413ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_12(OPS_32) 
1414{
1415   return arcompact_handle04_helper(PARAMS, opcodes_04[0x12], /*"BXOR"*/ 0,0);
1416}
1417
1418ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_13(OPS_32) 
1419{
1420   return arcompact_handle04_helper(PARAMS, opcodes_04[0x13], /*"BMSK"*/ 0,0);
1421}
1422
1423ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_14(OPS_32) 
1424{
1425   return arcompact_handle04_helper(PARAMS, opcodes_04[0x14], /*"ADD1"*/ 0,0);
1426}
1427
1428ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_15(OPS_32) 
1429{
1430   return arcompact_handle04_helper(PARAMS, opcodes_04[0x15], /*"ADD2"*/ 0,0);
1431}
1432
1433ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_16(OPS_32) 
1434{
1435   return arcompact_handle04_helper(PARAMS, opcodes_04[0x16], /*"ADD3"*/ 0,0);
1436}
1437
1438ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_17(OPS_32) 
1439{
1440   return arcompact_handle04_helper(PARAMS, opcodes_04[0x17], /*"SUB1"*/ 0,0);
1441}
1442
1443ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_18(OPS_32) 
1444{
1445   return arcompact_handle04_helper(PARAMS, opcodes_04[0x18], /*"SUB2"*/ 0,0);
1446}
1447
1448ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_19(OPS_32) 
1449{
1450   return arcompact_handle04_helper(PARAMS, opcodes_04[0x19], /*"SUB3"*/ 0,0);
1451}
1452
1453ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_1a(OPS_32) 
1454{
1455   return arcompact_handle04_helper(PARAMS, opcodes_04[0x1a], /*"MPY"*/ 0,0);
1456} // *
1457
1458ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_1b(OPS_32) 
1459{
1460   return arcompact_handle04_helper(PARAMS, opcodes_04[0x1b], /*"MPYH"*/ 0,0);
1461} // *
1462
1463ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_1c(OPS_32) 
1464{
1465   return arcompact_handle04_helper(PARAMS, opcodes_04[0x1c], /*"MPYHU"*/ 0,0);
1466} // *
1467
1468ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_1d(OPS_32) 
1469{
1470   return arcompact_handle04_helper(PARAMS, opcodes_04[0x1d], /*"MPYU"*/ 0,0);
1471} // *
1472
1473
1474// arcompact_handle04_helper format
1475ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_20(OPS_32)
1476{
1477   int size = 4;
1478   UINT32 limm = 0;
1479   int got_limm = 0;
1480
1481   int p = (op & 0x00c00000) >> 22;
1482
1483   if (p == 0)
1484   {
1485      int C = (op & 0x00000fc0) >> 6;
1486
1487      if (C == LIMM_REG)
1488      {
1489         if (!got_limm)
1490         {
1491            GET_LIMM_32;
1492            size = 8;
1493         }
1494
1495         return limm;
1496      }
1497      else
1498      {
1499         arcompact_log("unimplemented J %08x", op);
1500      }
1501   }
1502   else if (p == 1)
1503   {
1504      arcompact_log("unimplemented J %08x", op);
1505   }
1506   else if (p == 2)
1507   {
1508      arcompact_log("unimplemented J %08x", op);
1509   }
1510   else if (p == 3)
1511   {
1512      int M = (op & 0x00000020) >> 5;
1513
1514      if (M == 0)
1515      {
1516         int C = (op & 0x00000fc0) >> 6;
1517
1518         if (C == LIMM_REG)
1519         {
1520            if (!got_limm)
1521            {
1522               //GET_LIMM_32;
1523               size = 8;
1524            }
1525
1526            arcompact_log("unimplemented J %08x", op);
1527         }
1528         else
1529         {
1530            arcompact_log("unimplemented J %08x", op);
1531         }
1532
1533      }
1534      else if (M == 1)
1535      {
1536         arcompact_log("unimplemented J %08x", op);
1537      }
1538
1539   }
1540
1541
1542   return m_pc + (size>>0);}
1543
1544
1545
1546ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_21(OPS_32)
1547{
1548   return arcompact_handle04_helper(PARAMS, opcodes_04[0x21], /*"J.D"*/ 1,1);
1549}
1550
1551ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_22(OPS_32)
1552{
1553   return arcompact_handle04_helper(PARAMS, opcodes_04[0x22], /*"JL"*/ 1,1);
1554}
1555
1556ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_23(OPS_32)
1557{
1558   return arcompact_handle04_helper(PARAMS, opcodes_04[0x23], /*"JL.D"*/ 1,1);
1559}
1560
1561
1562
1563
1564ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_28(OPS_32) // LPcc (loop setup)
1565{
1566   int size = 4;
1567
1568   int p = (op & 0x00c00000) >> 22;
1569
1570   if (p == 0x00)
1571   {
1572   }
1573   else if (p == 0x01)
1574   {
1575   }
1576   else if (p == 0x02) // Loop unconditional
1577   {
1578   }
1579   else if (p == 0x03) // Loop conditional
1580   {
1581   }
1582
1583   arcompact_log("unimplemented LPcc %08x", op);
1584   return m_pc + (size>>0);
1585
1586}
1587
1588
1589ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2a(OPS_32)  // Load FROM Auxiliary register TO register
1590{
1591   int size = 4;
1592//   UINT32 limm = 0;
1593   int got_limm = 0;
1594
1595   int p = (op & 0x00c00000) >> 22;
1596   //COMMON32_GET_breg;
1597
1598   if (p == 0)
1599   {
1600
1601      int C = (op & 0x00000fc0) >> 6;
1602
1603      if (C == LIMM_REG)
1604      {
1605         if (!got_limm)
1606         {
1607            //GET_LIMM_32;
1608            size = 8;
1609         }
1610   
1611      }
1612      else
1613      {
1614      }
1615   }
1616   else if (p == 1)
1617   {
1618   }
1619   else if (p == 2)
1620   {
1621   }
1622   else if (p == 3)
1623   {
1624   }
1625
1626   arcompact_log("unimplemented LR %08x", op);
1627   return m_pc + (size>>0);
1628}
1629
1630ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2b(OPS_32)  // Store TO Auxiliary register FROM register
1631{   
1632   int size = 4;
1633//   UINT32 limm = 0;
1634   int got_limm = 0;
1635
1636   int p = (op & 0x00c00000) >> 22;
1637   COMMON32_GET_breg;
1638
1639   if (breg == LIMM_REG)
1640   {
1641      //GET_LIMM_32;
1642      size = 8;
1643      got_limm = 1;
1644
1645   }
1646   else
1647   {
1648   }
1649
1650   if (p == 0)
1651   {
1652
1653      int C = (op & 0x00000fc0) >> 6;
1654
1655      if (C == LIMM_REG)
1656      {
1657         if (!got_limm)
1658         {
1659            //GET_LIMM_32;
1660            size = 8;
1661         }
1662      }
1663      else
1664      {
1665      }
1666   }
1667   else if (p == 1)
1668   {
1669   }
1670   else if (p == 2)
1671   {
1672   }
1673   else if (p == 3)
1674   {
1675   }
1676
1677   arcompact_log("unimplemented ST %08x", op);
1678   return m_pc + (size>>0);
1679}
1680
1681ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_29(OPS_32)
1682{
1683   // leapster bios uses formats for FLAG that are not defined, bug I guess work anyway (P modes 0 / 1)
1684   return arcompact_handle04_helper(PARAMS, opcodes_04[0x29], /*"FLAG"*/ 1,1);
1685}
1686
1687
1688ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_helper(OPS_32, const char* optext)
1689{
1690   int size = 4;
1691
1692   int p = (op & 0x00c00000) >> 22;
1693   //COMMON32_GET_breg;
1694   
1695   if (p == 0)
1696   {
1697      int C = (op & 0x00000fc0) >> 6;
1698
1699      if (C == LIMM_REG)
1700      {
1701         //UINT32 limm;
1702         //GET_LIMM_32;
1703         size = 8;   
1704      }
1705      else
1706      {
1707      }
1708   }
1709   else if (p == 1)
1710   {
1711   }
1712   else if (p == 2)
1713   {
1714   }
1715   else if (p == 3)
1716   {
1717   }
1718
1719   return m_pc + (size>>0);
1720}
1721
1722
1723ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_00(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "ASL"); } // ASL
1724ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_01(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "ASR"); } // ASR
1725ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_02(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "LSR"); } // LSR
1726ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_03(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "ROR"); } // ROR
1727ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_04(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "RCC"); } // RCC
1728ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_05(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "SEXB"); } // SEXB
1729ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_06(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "SEXW"); } // SEXW
1730ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_07(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "EXTB"); } // EXTB
1731ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_08(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "EXTW"); } // EXTW
1732ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_09(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "ABS"); } // ABS
1733ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_0a(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "NOT"); } // NOT
1734ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_0b(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "RCL"); } // RLC
1735ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_0c(OPS_32)  { return arcompact_handle04_2f_helper(PARAMS, "EX"); } // EX
1736
1737
1738ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_01(OPS_32)  { arcompact_log("SLEEP (%08x)", op); return m_pc + (4 >> 0);}
1739ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_02(OPS_32)  { arcompact_log("SWI / TRAP0 (%08x)", op); return m_pc + (4 >> 0);}
1740ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_03(OPS_32)  { arcompact_log("SYNC (%08x)", op); return m_pc + (4 >> 0);}
1741ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_04(OPS_32)  { arcompact_log("RTIE (%08x)", op); return m_pc + (4 >> 0);}
1742ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_05(OPS_32)  { arcompact_log("BRK (%08x)", op); return m_pc + (4 >> 0);}
1743
1744
1745
1746
1747ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_3x_helper(OPS_32, int dsize, int extend)
1748{
1749   int size = 4;
1750   //UINT32 limm=0;
1751   int got_limm = 0;
1752
1753
1754   COMMON32_GET_breg;
1755   int C = (op & 0x00000fc0) >> 6;
1756
1757
1758
1759   if (breg == LIMM_REG)
1760   {
1761      //GET_LIMM_32;
1762      size = 8;
1763      got_limm = 1;
1764
1765   }
1766   else
1767   {
1768   }
1769
1770   if (C == LIMM_REG)
1771   {
1772      if (!got_limm)
1773      {
1774         //GET_LIMM_32;
1775         size = 8;
1776      }
1777
1778   }
1779   else
1780   {
1781   }   
1782
1783   arcompact_log("unimplemented LD %08x", op);
1784   return m_pc + (size>>0);
1785}
1786
1787ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_30(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,0,0); }
1788// ZZ value of 0x0 with X of 1 is illegal
1789ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_31(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,0,1); }
1790ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_32(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,1,0); }
1791ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_33(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,1,1); }
1792ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_34(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,2,0); }
1793ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_35(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,2,1); }
1794// ZZ value of 0x3 is illegal
1795ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_36(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,3,0); }
1796ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_37(OPS_32)  { return arcompact_handle04_3x_helper(PARAMS,3,1); }
1797
1798
1799
1800
1801
1802
1803ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_00(OPS_32)  { return arcompact_handle04_helper(PARAMS, "ASL", 0,0); }
1804ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_01(OPS_32)  { return arcompact_handle04_helper(PARAMS, "LSR", 0,0); }
1805ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_02(OPS_32)  { return arcompact_handle04_helper(PARAMS, "ASR", 0,0); }
1806ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_03(OPS_32)  { return arcompact_handle04_helper(PARAMS, "ROR", 0,0); }
1807ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_04(OPS_32)  { return arcompact_handle04_helper(PARAMS, "MUL64", 2,0); } // special
1808ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_05(OPS_32)  { return arcompact_handle04_helper(PARAMS, "MULU64", 2,0);} // special
1809ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_06(OPS_32)  { return arcompact_handle04_helper(PARAMS, "ADDS", 0,0); }
1810ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_07(OPS_32)  { return arcompact_handle04_helper(PARAMS, "SUBS", 0,0); }
1811ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_08(OPS_32)  { return arcompact_handle04_helper(PARAMS, "DIVAW", 0,0); }
1812
1813
1814
1815ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_0a(OPS_32)  { return arcompact_handle04_helper(PARAMS, "ASLS", 0,0); }
1816ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_0b(OPS_32)  { return arcompact_handle04_helper(PARAMS, "ASRS", 0,0); }
1817
1818ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_28(OPS_32)  { return arcompact_handle04_helper(PARAMS, "ADDSDW", 0,0); }
1819ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_29(OPS_32)  { return arcompact_handle04_helper(PARAMS, "SUBSDW", 0,0); }
1820
1821
1822
1823ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_0x_helper(OPS_32, const char* optext)
1824{
1825   int size = 4;
1826
1827   int p = (op & 0x00c00000) >> 22;
1828   //COMMON32_GET_breg;
1829   
1830   if (p == 0)
1831   {
1832      int C = (op & 0x00000fc0) >> 6;
1833
1834      if (C == LIMM_REG)
1835      {
1836         //UINT32 limm;
1837         //GET_LIMM_32;
1838         size = 8;   
1839
1840      }
1841      else
1842      {
1843      }
1844   }
1845   else if (p == 1)
1846   {
1847   }
1848   else if (p == 2)
1849   {
1850   }
1851   else if (p == 3)
1852   {
1853   }
1854
1855   arcompact_log("unimplemented %s %08x", optext, op);
1856   return m_pc + (size>>0);
1857}
1858
1859
1860ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_00(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "SWAP");  }
1861ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_01(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "NORM");  }
1862ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_02(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "SAT16"); }
1863ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_03(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "RND16"); }
1864ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_04(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "ABSSW"); }
1865ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_05(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "ABSS");  }
1866ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_06(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "NEGSW"); }
1867ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_07(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "NEGS");  }
1868ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_08(OPS_32)  { return arcompact_handle05_2f_0x_helper(PARAMS, "NORMW"); }
1869
1870
1871ARCOMPACT_RETTYPE arcompact_device::arcompact_handle06(OPS_32)
1872{
1873   arcompact_log("op a,b,c (06 ARC ext) (%08x)", op );
1874   return m_pc + (4 >> 0);;
1875}
1876
1877ARCOMPACT_RETTYPE arcompact_device::arcompact_handle07(OPS_32)
1878{
1879   arcompact_log("op a,b,c (07 User ext) (%08x)", op );
1880   return m_pc + (4 >> 0);;
1881}
1882
1883ARCOMPACT_RETTYPE arcompact_device::arcompact_handle08(OPS_32)
1884{
1885   arcompact_log("op a,b,c (08 User ext) (%08x)", op );
1886   return m_pc + (4 >> 0);;
1887}
1888
1889ARCOMPACT_RETTYPE arcompact_device::arcompact_handle09(OPS_32)
1890{
1891   arcompact_log("op a,b,c (09 Market ext) (%08x)", op );
1892   return m_pc + (4 >> 0);;
1893}
1894
1895ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0a(OPS_32)
1896{
1897   arcompact_log("op a,b,c (0a Market ext) (%08x)",  op );
1898   return m_pc + (4 >> 0);;
1899}
1900
1901ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0b(OPS_32)
1902{
1903   arcompact_log("op a,b,c (0b Market ext) (%08x)",  op );
1904   return m_pc + (4 >> 0);;
1905}
1906
1907
1908
1909ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0c_helper(OPS_16, const char* optext)
1910{
1911   arcompact_log("unimplemented %s %04x", optext, op);
1912   return m_pc + (2 >> 0);;
1913}
1914
1915
1916ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0c_00(OPS_16)
1917{
1918   return arcompact_handle0c_helper(PARAMS, "LD_S");
1919}
1920
1921ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0c_01(OPS_16)
1922{
1923   return arcompact_handle0c_helper(PARAMS, "LDB_S");
1924}
1925
1926ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0c_02(OPS_16)
1927{
1928   return arcompact_handle0c_helper(PARAMS, "LDW_S");
1929}
1930
1931ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0c_03(OPS_16)
1932{
1933   return arcompact_handle0c_helper(PARAMS, "ADD_S");
1934}
1935
1936
1937ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_helper(OPS_16, const char* optext)
1938{
1939   arcompact_log("unimplemented %s %04x", optext, op);
1940   return m_pc + (2 >> 0);;
1941}
1942
1943
1944ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_00(OPS_16)
1945{
1946   return arcompact_handle0d_helper(PARAMS, "ADD_S");
1947}
1948
1949ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_01(OPS_16)
1950{
1951   return arcompact_handle0d_helper(PARAMS, "SUB_S");
1952}
1953
1954ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_02(OPS_16)
1955{
1956   return arcompact_handle0d_helper(PARAMS, "ASL_S");
1957}
1958
1959ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_03(OPS_16)
1960{
1961   return arcompact_handle0d_helper(PARAMS, "ASR_S");
1962}
1963
1964
1965
1966ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0e_0x_helper(OPS_16, const char* optext, int revop)
1967{
1968   int h;// , breg;
1969   int size = 2;
1970
1971   GROUP_0e_GET_h;
1972   
1973   if (h == LIMM_REG)
1974   {
1975      //UINT32 limm;
1976      //GET_LIMM;
1977      size = 6;
1978   }
1979   else
1980   {
1981
1982   }
1983
1984   arcompact_log("unimplemented %s %04x", optext, op);
1985
1986   return m_pc+ (size>>0);
1987
1988}
1989
1990ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0e_00(OPS_16)
1991{
1992   return arcompact_handle0e_0x_helper(PARAMS, "ADD_S", 0);
1993}
1994
1995ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0e_01(OPS_16)
1996{
1997   return arcompact_handle0e_0x_helper(PARAMS, "MOV_S", 0);
1998}
1999
2000ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0e_02(OPS_16)
2001{
2002   return arcompact_handle0e_0x_helper(PARAMS, "CMP_S", 0);
2003}
2004
2005ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0e_03(OPS_16)
2006{
2007   return arcompact_handle0e_0x_helper(PARAMS, "MOV_S", 1);
2008}
2009
2010
2011
2012ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_0x_helper(OPS_16, const char* optext)
2013{
2014   arcompact_log("unimplemented %s %04x", optext, op);
2015   return m_pc + (2 >> 0);;
2016}
2017
2018
2019
2020ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_00(OPS_16)  { return arcompact_handle0f_00_0x_helper(PARAMS, "J_S"); }
2021ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_01(OPS_16)  { return arcompact_handle0f_00_0x_helper(PARAMS, "J_S.D"); }
2022ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_02(OPS_16)  { return arcompact_handle0f_00_0x_helper(PARAMS, "JL_S");  }
2023ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_03(OPS_16)  { return arcompact_handle0f_00_0x_helper(PARAMS, "JL_S.D");  }
2024ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_06(OPS_16)  { return arcompact_handle0f_00_0x_helper(PARAMS, "SUB_S.NE"); }
2025
2026
2027
2028
2029// Zero parameters (ZOP)
2030ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_00(OPS_16)  { arcompact_log("NOP_S"); return m_pc + (2 >> 0);;}
2031ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_01(OPS_16)  { arcompact_log("UNIMP_S"); return m_pc + (2 >> 0);;} // Unimplemented Instruction, same as illegal, but recommended to fill blank space
2032ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_04(OPS_16)  { arcompact_log("JEQ_S [blink]"); return m_pc + (2 >> 0);;}
2033ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_05(OPS_16)  { arcompact_log("JNE_S [blink]"); return m_pc + (2 >> 0);;}
2034ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_06(OPS_16)  { arcompact_log("J_S [blink]"); return m_pc + (2 >> 0);;}
2035ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_07(OPS_16)  { arcompact_log("J_S.D [blink]"); return m_pc + (2 >> 0);;}
2036
2037
2038
2039
2040
2041ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_0x_helper(OPS_16, const char* optext, int nodst)
2042{
2043   arcompact_log("unimplemented %s %04x", optext, op);
2044   return m_pc + (2 >> 0);;
2045}
2046
2047ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_02(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "SUB_S",0);  }
2048ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_04(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "AND_S",0);  }
2049ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_05(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "OR_S",0);   }
2050ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_06(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "BIC_S",0);  }
2051ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_07(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "XOR_S",0);  }
2052ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_0b(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "TST_S",1);  }
2053ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_0c(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "MUL64_S",2);  } // actual destination is special multiply registers
2054ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_0d(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "SEXB_S",0); }
2055ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_0e(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "SEXW_S",0); }
2056ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_0f(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "EXTB_S",0); }
2057ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_10(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "EXTW_S",0); }
2058ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_11(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ABS_S",0);  }
2059ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_12(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "NOT_S",0);  }
2060ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_13(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "NEG_S",0);  }
2061ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_14(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ADD1_S",0); }
2062ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_15(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ADD2_S",0); }
2063ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_16(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ADD3_S",0); }
2064ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_18(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ASL_S",0);  }
2065ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_19(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "LSR_S",0);  }
2066ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_1a(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ASR_S",0);  }
2067ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_1b(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ASL1_S",0); }
2068ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_1c(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "ASR1_S",0); }
2069ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_1d(OPS_16)  { return arcompact_handle0f_0x_helper(PARAMS, "LSR1_S",0); }
2070
2071
2072ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_1e(OPS_16)  // special
2073{
2074   arcompact_log("unimplemented TRAP_S %04x",  op);
2075   return m_pc + (2 >> 0);;
2076}
2077
2078ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_1f(OPS_16)  // special
2079{
2080   arcompact_log("unimplemented BRK_S %04x",  op);
2081   return m_pc + (2 >> 0);;
2082}
2083
2084
2085ARCOMPACT_RETTYPE arcompact_device::arcompact_handle_ld_helper(OPS_16, const char* optext, int shift, int swap)
2086{
2087   arcompact_log("unimplemented %s %04x", optext, op);
2088   return m_pc + (2 >> 0);;
2089}
2090
2091
2092ARCOMPACT_RETTYPE arcompact_device::arcompact_handle10(OPS_16)
2093{
2094   return arcompact_handle_ld_helper(PARAMS, "LD_S", 2, 0);
2095}
2096
2097ARCOMPACT_RETTYPE arcompact_device::arcompact_handle11(OPS_16)
2098{
2099   return arcompact_handle_ld_helper(PARAMS, "LDB_S", 0, 0);
2100}
2101
2102ARCOMPACT_RETTYPE arcompact_device::arcompact_handle12(OPS_16)
2103{
2104   return arcompact_handle_ld_helper(PARAMS, "LDW_S", 1, 0);
2105}
2106
2107ARCOMPACT_RETTYPE arcompact_device::arcompact_handle13(OPS_16)
2108{
2109   return arcompact_handle_ld_helper(PARAMS, "LDW_S.X", 1, 0);
2110}
2111
2112ARCOMPACT_RETTYPE arcompact_device::arcompact_handle14(OPS_16)
2113{
2114   return arcompact_handle_ld_helper(PARAMS, "ST_S", 2, 1);
2115}
2116
2117ARCOMPACT_RETTYPE arcompact_device::arcompact_handle15(OPS_16)
2118{
2119   return arcompact_handle_ld_helper(PARAMS, "STB_S", 0, 1);
2120}
2121
2122ARCOMPACT_RETTYPE arcompact_device::arcompact_handle16(OPS_16)
2123{
2124   return arcompact_handle_ld_helper(PARAMS, "STW_S", 1, 1);
2125}
2126
2127
2128ARCOMPACT_RETTYPE arcompact_device::arcompact_handle_l7_0x_helper(OPS_16, const char* optext)
2129{
2130   arcompact_log("unimplemented %s %04x", optext, op);
2131   return m_pc + (2 >> 0);;
2132}
2133
2134ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_00(OPS_16)
2135{
2136   return arcompact_handle_l7_0x_helper(PARAMS, "ASL_S");
2137}
2138
2139ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_01(OPS_16)
2140{
2141   return arcompact_handle_l7_0x_helper(PARAMS, "LSR_S");
2142}
2143
2144ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_02(OPS_16)
2145{
2146   return arcompact_handle_l7_0x_helper(PARAMS, "ASR_S");
2147}
2148
2149ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_03(OPS_16)
2150{
2151   return arcompact_handle_l7_0x_helper(PARAMS, "SUB_S");
2152}
2153
2154ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_04(OPS_16)
2155{
2156   return arcompact_handle_l7_0x_helper(PARAMS, "BSET_S");
2157}
2158
2159ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_05(OPS_16)
2160{
2161   return arcompact_handle_l7_0x_helper(PARAMS, "BCLR_S");
2162}
2163
2164ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_06(OPS_16)
2165{
2166   return arcompact_handle_l7_0x_helper(PARAMS, "BSMK_S");
2167}
2168
2169ARCOMPACT_RETTYPE arcompact_device::arcompact_handle17_07(OPS_16)
2170{
2171   return arcompact_handle_l7_0x_helper(PARAMS, "BTST_S");
2172}
2173
2174ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_0x_helper(OPS_16, const char* optext, int st)
2175{
2176   arcompact_log("unimplemented %s %04x", optext, op);
2177   return m_pc + (2 >> 0);;
2178}
2179
2180ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_00(OPS_16)
2181{
2182   return arcompact_handle18_0x_helper(PARAMS, "LD_S", 0);
2183}
2184
2185ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_01(OPS_16)
2186{
2187   return arcompact_handle18_0x_helper(PARAMS, "LDB_S", 0);
2188}
2189
2190ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_02(OPS_16)
2191{
2192   return arcompact_handle18_0x_helper(PARAMS, "ST_S", 1);
2193}
2194
2195ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_03(OPS_16)
2196{
2197   return arcompact_handle18_0x_helper(PARAMS, "STB_S", 1);
2198}
2199
2200ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_04(OPS_16)
2201{
2202   return arcompact_handle18_0x_helper(PARAMS, "ADD_S", 1); // check format
2203}
2204
2205// op bits remaining for 0x18_05_xx subgroups 0x001f
2206ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_00(OPS_16)
2207{
2208   arcompact_log("unimplemented ADD_S SP, SP %04x", op);
2209   return m_pc + (2 >> 0);;
2210}
2211
2212ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_01(OPS_16)
2213{
2214   arcompact_log("unimplemented SUB_S SP, SP %04x", op);
2215   return m_pc + (2 >> 0);;
2216}
2217
2218// op bits remaining for 0x18_06_xx subgroups 0x0700
2219ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_01(OPS_16)
2220{
2221   arcompact_log("unimplemented POP_S %04x", op);
2222   return m_pc + (2 >> 0);;
2223}
2224
2225ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_11(OPS_16)
2226{
2227   arcompact_log("unimplemented POP_S [BLINK] %04x", op);
2228   return m_pc + (2 >> 0);;
2229}
2230
2231// op bits remaining for 0x18_07_xx subgroups 0x0700
2232ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_01(OPS_16)
2233{
2234   arcompact_log("unimplemented PUSH_S %04x", op);
2235   return m_pc + (2 >> 0);;
2236}
2237
2238
2239ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_11(OPS_16)
2240{
2241   arcompact_log("unimplemented PUSH_S [BLINK] %04x", op);
2242   return m_pc + (2 >> 0);;
2243}
2244
2245
2246ARCOMPACT_RETTYPE arcompact_device::arcompact_handle19_0x_helper(OPS_16, const char* optext, int shift, int format)
2247{
2248   arcompact_log("unimplemented %s %04x", optext, op);
2249   return m_pc + (2 >> 0);;
2250}
2251
2252ARCOMPACT_RETTYPE arcompact_device::arcompact_handle19_00(OPS_16)  { return arcompact_handle19_0x_helper(PARAMS, "LD_S", 2, 0); }
2253ARCOMPACT_RETTYPE arcompact_device::arcompact_handle19_01(OPS_16)  { return arcompact_handle19_0x_helper(PARAMS, "LDB_S", 0, 0); }
2254ARCOMPACT_RETTYPE arcompact_device::arcompact_handle19_02(OPS_16)  { return arcompact_handle19_0x_helper(PARAMS, "LDW_S", 1, 0);  }
2255ARCOMPACT_RETTYPE arcompact_device::arcompact_handle19_03(OPS_16)  { return arcompact_handle19_0x_helper(PARAMS, "ADD_S", 2, 1); }
2256
2257ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1a(OPS_16)
2258{
2259   arcompact_log("unimplemented MOV_S x, [PCL, x] %04x",  op);
2260   return m_pc + (2 >> 0);;
2261}
2262
2263ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1b(OPS_16)
2264{
2265   arcompact_log("unimplemented MOV_S %04x",  op);
2266   return m_pc + (2 >> 0);;
2267}
2268
2269ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1c_00(OPS_16)
2270{
2271   arcompact_log("unimplemented ADD_S %04x",  op);
2272   return m_pc + (2 >> 0);;
2273}
2274
2275ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1c_01(OPS_16)
2276{
2277   arcompact_log("unimplemented CMP_S %04x",  op);
2278   return m_pc + (2 >> 0);;
2279}
2280
2281ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1d_helper(OPS_16, const char* optext)
2282{
2283   arcompact_log("unimplemented %s %04x", optext, op);
2284   return m_pc + (2 >> 0);;
2285}
2286
2287
2288ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1d_00(OPS_16)  { return arcompact_handle1d_helper(PARAMS,"BREQ_S"); }
2289ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1d_01(OPS_16)  { return arcompact_handle1d_helper(PARAMS,"BRNE_S"); }
2290
2291
2292ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_0x_helper(OPS_16, const char* optext)
2293{
2294   arcompact_log("unimplemented %s %04x", optext, op);
2295   return m_pc + (2 >> 0);;
2296}
2297
2298
2299
2300ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_00(OPS_16)  { return arcompact_handle1e_0x_helper(PARAMS, "BL_S");  }
2301ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_01(OPS_16)  { return arcompact_handle1e_0x_helper(PARAMS, "BEQ_S"); }
2302ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_02(OPS_16)  { return arcompact_handle1e_0x_helper(PARAMS, "BNE_S"); }
2303
2304ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_0x_helper(OPS_16, const char* optext)
2305{
2306   arcompact_log("unimplemented %s %04x", optext, op);
2307   return m_pc + (2 >> 0);;
2308}
2309
2310ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_00(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BGT_S"); }
2311ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_01(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BGE_S"); }
2312ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_02(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BLT_S"); }
2313ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_03(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BLE_S"); }
2314ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_04(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BHI_S"); }
2315ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_05(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BHS_S"); }
2316ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_06(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BLO_S"); }
2317ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1e_03_07(OPS_16)  { return arcompact_handle1e_03_0x_helper(PARAMS, "BLS_S"); }
2318
2319ARCOMPACT_RETTYPE arcompact_device::arcompact_handle1f(OPS_16)
2320{
2321   arcompact_log("unimplemented BL_S %04x", op);
2322   return m_pc + (2 >> 0);;
2323}
2324
2325/************************************************************************************************************************************
2326*                                                                                                                                   *
2327* illegal opcode handlers (disassembly)                                                                                             *
2328*                                                                                                                                   *
2329************************************************************************************************************************************/
2330
2331ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_06(OPS_32)  { arcompact_fatal("<illegal 01_01_00_06> (%08x)", op); return m_pc + (4 >> 0); }
2332ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_07(OPS_32)  { arcompact_fatal("<illegal 01_01_00_07> (%08x)", op); return m_pc + (4 >> 0); }
2333ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_08(OPS_32)  { arcompact_fatal("<illegal 01_01_00_08> (%08x)", op); return m_pc + (4 >> 0); }
2334ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_09(OPS_32)  { arcompact_fatal("<illegal 01_01_00_09> (%08x)", op); return m_pc + (4 >> 0); }
2335ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_0a(OPS_32)  { arcompact_fatal("<illegal 01_01_00_0a> (%08x)", op); return m_pc + (4 >> 0); }
2336ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_0b(OPS_32)  { arcompact_fatal("<illegal 01_01_00_0b> (%08x)", op); return m_pc + (4 >> 0); }
2337ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_0c(OPS_32)  { arcompact_fatal("<illegal 01_01_00_0c> (%08x)", op); return m_pc + (4 >> 0); }
2338ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_0d(OPS_32)  { arcompact_fatal("<illegal 01_01_00_0d> (%08x)", op); return m_pc + (4 >> 0); }
2339
2340ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_06(OPS_32)  { arcompact_fatal("<illegal 01_01_01_06> (%08x)", op); return m_pc + (4 >> 0); }
2341ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_07(OPS_32)  { arcompact_fatal("<illegal 01_01_01_07> (%08x)", op); return m_pc + (4 >> 0); }
2342ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_08(OPS_32)  { arcompact_fatal("<illegal 01_01_01_08> (%08x)", op); return m_pc + (4 >> 0); }
2343ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_09(OPS_32)  { arcompact_fatal("<illegal 01_01_01_09> (%08x)", op); return m_pc + (4 >> 0); }
2344ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_0a(OPS_32)  { arcompact_fatal("<illegal 01_01_01_0a> (%08x)", op); return m_pc + (4 >> 0); }
2345ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_0b(OPS_32)  { arcompact_fatal("<illegal 01_01_01_0b> (%08x)", op); return m_pc + (4 >> 0); }
2346ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_0c(OPS_32)  { arcompact_fatal("<illegal 01_01_01_0c> (%08x)", op); return m_pc + (4 >> 0); }
2347ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_0d(OPS_32)  { arcompact_fatal("<illegal 01_01_01_0d> (%08x)", op); return m_pc + (4 >> 0); }
2348
2349
2350ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_1e(OPS_32)  { arcompact_fatal("<illegal 0x04_1e> (%08x)", op); return m_pc + (4 >> 0);}
2351ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_1f(OPS_32)  { arcompact_fatal("<illegal 0x04_1f> (%08x)", op); return m_pc + (4 >> 0);}
2352
2353ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_24(OPS_32)  { arcompact_fatal("<illegal 0x04_24> (%08x)", op); return m_pc + (4 >> 0);}
2354ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_25(OPS_32)  { arcompact_fatal("<illegal 0x04_25> (%08x)", op); return m_pc + (4 >> 0);}
2355ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_26(OPS_32)  { arcompact_fatal("<illegal 0x04_26> (%08x)", op); return m_pc + (4 >> 0);}
2356ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_27(OPS_32)  { arcompact_fatal("<illegal 0x04_27> (%08x)", op); return m_pc + (4 >> 0);}
2357
2358ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2c(OPS_32)  { arcompact_fatal("<illegal 0x04_2c> (%08x)", op); return m_pc + (4 >> 0);}
2359ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2d(OPS_32)  { arcompact_fatal("<illegal 0x04_2d> (%08x)", op); return m_pc + (4 >> 0);}
2360ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2e(OPS_32)  { arcompact_fatal("<illegal 0x04_2e> (%08x)", op); return m_pc + (4 >> 0);}
2361
2362ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_0d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_0d> (%08x)", op); return m_pc + (4 >> 0);}
2363ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_0e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_0e> (%08x)", op); return m_pc + (4 >> 0);}
2364ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_0f(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_0f> (%08x)", op); return m_pc + (4 >> 0);}
2365ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_10(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_10> (%08x)", op); return m_pc + (4 >> 0);}
2366ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_11(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_11> (%08x)", op); return m_pc + (4 >> 0);}
2367ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_12(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_12> (%08x)", op); return m_pc + (4 >> 0);}
2368ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_13(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_13> (%08x)", op); return m_pc + (4 >> 0);}
2369ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_14(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_14> (%08x)", op); return m_pc + (4 >> 0);}
2370ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_15(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_15> (%08x)", op); return m_pc + (4 >> 0);}
2371ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_16(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_16> (%08x)", op); return m_pc + (4 >> 0);}
2372ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_17(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_17> (%08x)", op); return m_pc + (4 >> 0);}
2373ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_18(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_18> (%08x)", op); return m_pc + (4 >> 0);}
2374ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_19(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_19> (%08x)", op); return m_pc + (4 >> 0);}
2375ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_1a(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_1a> (%08x)", op); return m_pc + (4 >> 0);}
2376ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_1b(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_1b> (%08x)", op); return m_pc + (4 >> 0);}
2377ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_1c(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_1c> (%08x)", op); return m_pc + (4 >> 0);}
2378ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_1d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_1d> (%08x)", op); return m_pc + (4 >> 0);}
2379ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_1e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_1e> (%08x)", op); return m_pc + (4 >> 0);}
2380ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_1f(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_1f> (%08x)", op); return m_pc + (4 >> 0);}
2381ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_20(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_20> (%08x)", op); return m_pc + (4 >> 0);}
2382ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_21(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_21> (%08x)", op); return m_pc + (4 >> 0);}
2383ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_22(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_22> (%08x)", op); return m_pc + (4 >> 0);}
2384ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_23(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_23> (%08x)", op); return m_pc + (4 >> 0);}
2385ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_24(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_24> (%08x)", op); return m_pc + (4 >> 0);}
2386ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_25(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_25> (%08x)", op); return m_pc + (4 >> 0);}
2387ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_26(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_26> (%08x)", op); return m_pc + (4 >> 0);}
2388ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_27(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_27> (%08x)", op); return m_pc + (4 >> 0);}
2389ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_28(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_28> (%08x)", op); return m_pc + (4 >> 0);}
2390ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_29(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_29> (%08x)", op); return m_pc + (4 >> 0);}
2391ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_2a(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_2a> (%08x)", op); return m_pc + (4 >> 0);}
2392ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_2b(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_2b> (%08x)", op); return m_pc + (4 >> 0);}
2393ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_2c(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_2c> (%08x)", op); return m_pc + (4 >> 0);}
2394ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_2d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_2d> (%08x)", op); return m_pc + (4 >> 0);}
2395ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_2e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_2e> (%08x)", op); return m_pc + (4 >> 0);}
2396ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_2f(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_2f> (%08x)", op); return m_pc + (4 >> 0);}
2397ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_30(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_30> (%08x)", op); return m_pc + (4 >> 0);}
2398ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_31(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_31> (%08x)", op); return m_pc + (4 >> 0);}
2399ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_32(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_32> (%08x)", op); return m_pc + (4 >> 0);}
2400ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_33(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_33> (%08x)", op); return m_pc + (4 >> 0);}
2401ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_34(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_34> (%08x)", op); return m_pc + (4 >> 0);}
2402ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_35(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_35> (%08x)", op); return m_pc + (4 >> 0);}
2403ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_36(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_36> (%08x)", op); return m_pc + (4 >> 0);}
2404ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_37(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_37> (%08x)", op); return m_pc + (4 >> 0);}
2405ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_38(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_38> (%08x)", op); return m_pc + (4 >> 0);}
2406ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_39(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_39> (%08x)", op); return m_pc + (4 >> 0);}
2407ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3a(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3a> (%08x)", op); return m_pc + (4 >> 0);}
2408ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3b(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3b> (%08x)", op); return m_pc + (4 >> 0);}
2409ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3c(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3c> (%08x)", op); return m_pc + (4 >> 0);}
2410ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3d> (%08x)", op); return m_pc + (4 >> 0);}
2411ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3e> (%08x)", op); return m_pc + (4 >> 0);}
2412
2413
2414
2415ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_09(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_09> (%08x)", op); return m_pc + (4 >> 0);}
2416ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_0a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_0a> (%08x)", op); return m_pc + (4 >> 0);}
2417ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_0b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_0b> (%08x)", op); return m_pc + (4 >> 0);}
2418ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_0c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_0c> (%08x)", op); return m_pc + (4 >> 0);}
2419ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_0d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_0d> (%08x)", op); return m_pc + (4 >> 0);}
2420ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_0e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_0e> (%08x)", op); return m_pc + (4 >> 0);}
2421ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_0f(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_0f> (%08x)", op); return m_pc + (4 >> 0);}
2422ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_10(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_10> (%08x)", op); return m_pc + (4 >> 0);}
2423ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_11(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_11> (%08x)", op); return m_pc + (4 >> 0);}
2424ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_12(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_12> (%08x)", op); return m_pc + (4 >> 0);}
2425ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_13(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_13> (%08x)", op); return m_pc + (4 >> 0);}
2426ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_14(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_14> (%08x)", op); return m_pc + (4 >> 0);}
2427ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_15(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_15> (%08x)", op); return m_pc + (4 >> 0);}
2428ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_16(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_16> (%08x)", op); return m_pc + (4 >> 0);}
2429ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_17(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_17> (%08x)", op); return m_pc + (4 >> 0);}
2430ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_18(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_18> (%08x)", op); return m_pc + (4 >> 0);}
2431ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_19(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_19> (%08x)", op); return m_pc + (4 >> 0);}
2432ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_1a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_1a> (%08x)", op); return m_pc + (4 >> 0);}
2433ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_1b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_1b> (%08x)", op); return m_pc + (4 >> 0);}
2434ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_1c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_1c> (%08x)", op); return m_pc + (4 >> 0);}
2435ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_1d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_1d> (%08x)", op); return m_pc + (4 >> 0);}
2436ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_1e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_1e> (%08x)", op); return m_pc + (4 >> 0);}
2437ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_1f(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_1f> (%08x)", op); return m_pc + (4 >> 0);}
2438ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_20(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_20> (%08x)", op); return m_pc + (4 >> 0);}
2439ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_21(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_21> (%08x)", op); return m_pc + (4 >> 0);}
2440ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_22(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_22> (%08x)", op); return m_pc + (4 >> 0);}
2441ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_23(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_23> (%08x)", op); return m_pc + (4 >> 0);}
2442ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_24(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_24> (%08x)", op); return m_pc + (4 >> 0);}
2443ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_25(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_25> (%08x)", op); return m_pc + (4 >> 0);}
2444ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_26(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_26> (%08x)", op); return m_pc + (4 >> 0);}
2445ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_27(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_27> (%08x)", op); return m_pc + (4 >> 0);}
2446ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_28(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_28> (%08x)", op); return m_pc + (4 >> 0);}
2447ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_29(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_29> (%08x)", op); return m_pc + (4 >> 0);}
2448ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_2a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_2a> (%08x)", op); return m_pc + (4 >> 0);}
2449ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_2b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_2b> (%08x)", op); return m_pc + (4 >> 0);}
2450ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_2c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_2c> (%08x)", op); return m_pc + (4 >> 0);}
2451ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_2d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_2d> (%08x)", op); return m_pc + (4 >> 0);}
2452ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_2e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_2e> (%08x)", op); return m_pc + (4 >> 0);}
2453ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_2f(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_2f> (%08x)", op); return m_pc + (4 >> 0);}
2454ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_30(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_30> (%08x)", op); return m_pc + (4 >> 0);}
2455ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_31(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_31> (%08x)", op); return m_pc + (4 >> 0);}
2456ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_32(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_32> (%08x)", op); return m_pc + (4 >> 0);}
2457ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_33(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_33> (%08x)", op); return m_pc + (4 >> 0);}
2458ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_34(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_34> (%08x)", op); return m_pc + (4 >> 0);}
2459ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_35(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_35> (%08x)", op); return m_pc + (4 >> 0);}
2460ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_36(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_36> (%08x)", op); return m_pc + (4 >> 0);}
2461ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_37(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_37> (%08x)", op); return m_pc + (4 >> 0);}
2462ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_38(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_38> (%08x)", op); return m_pc + (4 >> 0);}
2463ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_39(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_39> (%08x)", op); return m_pc + (4 >> 0);}
2464ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3a> (%08x)", op); return m_pc + (4 >> 0);}
2465ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3b> (%08x)", op); return m_pc + (4 >> 0);}
2466ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3c> (%08x)", op); return m_pc + (4 >> 0);}
2467ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3d> (%08x)", op); return m_pc + (4 >> 0);}
2468ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3e> (%08x)", op); return m_pc + (4 >> 0);}
2469
2470
2471ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_00(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_00> (%08x)", op); return m_pc + (4 >> 0);}
2472ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_06(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_06> (%08x)", op); return m_pc + (4 >> 0);}
2473ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_07(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_07> (%08x)", op); return m_pc + (4 >> 0);}
2474ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_08(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_08> (%08x)", op); return m_pc + (4 >> 0);}
2475ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_09(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_09> (%08x)", op); return m_pc + (4 >> 0);}
2476ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_0a(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_0a> (%08x)", op); return m_pc + (4 >> 0);}
2477ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_0b(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_0b> (%08x)", op); return m_pc + (4 >> 0);}
2478ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_0c(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_0c> (%08x)", op); return m_pc + (4 >> 0);}
2479ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_0d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_0d> (%08x)", op); return m_pc + (4 >> 0);}
2480ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_0e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_0e> (%08x)", op); return m_pc + (4 >> 0);}
2481ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_0f(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_0f> (%08x)", op); return m_pc + (4 >> 0);}
2482ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_10(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_10> (%08x)", op); return m_pc + (4 >> 0);}
2483ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_11(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_11> (%08x)", op); return m_pc + (4 >> 0);}
2484ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_12(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_12> (%08x)", op); return m_pc + (4 >> 0);}
2485ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_13(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_13> (%08x)", op); return m_pc + (4 >> 0);}
2486ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_14(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_14> (%08x)", op); return m_pc + (4 >> 0);}
2487ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_15(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_15> (%08x)", op); return m_pc + (4 >> 0);}
2488ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_16(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_16> (%08x)", op); return m_pc + (4 >> 0);}
2489ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_17(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_17> (%08x)", op); return m_pc + (4 >> 0);}
2490ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_18(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_18> (%08x)", op); return m_pc + (4 >> 0);}
2491ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_19(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_19> (%08x)", op); return m_pc + (4 >> 0);}
2492ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_1a(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_1a> (%08x)", op); return m_pc + (4 >> 0);}
2493ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_1b(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_1b> (%08x)", op); return m_pc + (4 >> 0);}
2494ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_1c(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_1c> (%08x)", op); return m_pc + (4 >> 0);}
2495ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_1d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_1d> (%08x)", op); return m_pc + (4 >> 0);}
2496ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_1e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_1e> (%08x)", op); return m_pc + (4 >> 0);}
2497ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_1f(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_1f> (%08x)", op); return m_pc + (4 >> 0);}
2498ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_20(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_20> (%08x)", op); return m_pc + (4 >> 0);}
2499ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_21(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_21> (%08x)", op); return m_pc + (4 >> 0);}
2500ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_22(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_22> (%08x)", op); return m_pc + (4 >> 0);}
2501ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_23(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_23> (%08x)", op); return m_pc + (4 >> 0);}
2502ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_24(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_24> (%08x)", op); return m_pc + (4 >> 0);}
2503ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_25(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_25> (%08x)", op); return m_pc + (4 >> 0);}
2504ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_26(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_26> (%08x)", op); return m_pc + (4 >> 0);}
2505ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_27(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_27> (%08x)", op); return m_pc + (4 >> 0);}
2506ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_28(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_28> (%08x)", op); return m_pc + (4 >> 0);}
2507ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_29(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_29> (%08x)", op); return m_pc + (4 >> 0);}
2508ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_2a(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_2a> (%08x)", op); return m_pc + (4 >> 0);}
2509ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_2b(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_2b> (%08x)", op); return m_pc + (4 >> 0);}
2510ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_2c(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_2c> (%08x)", op); return m_pc + (4 >> 0);}
2511ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_2d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_2d> (%08x)", op); return m_pc + (4 >> 0);}
2512ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_2e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_2e> (%08x)", op); return m_pc + (4 >> 0);}
2513ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_2f(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_2f> (%08x)", op); return m_pc + (4 >> 0);}
2514ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_30(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_30> (%08x)", op); return m_pc + (4 >> 0);}
2515ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_31(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_31> (%08x)", op); return m_pc + (4 >> 0);}
2516ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_32(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_32> (%08x)", op); return m_pc + (4 >> 0);}
2517ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_33(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_33> (%08x)", op); return m_pc + (4 >> 0);}
2518ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_34(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_34> (%08x)", op); return m_pc + (4 >> 0);}
2519ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_35(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_35> (%08x)", op); return m_pc + (4 >> 0);}
2520ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_36(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_36> (%08x)", op); return m_pc + (4 >> 0);}
2521ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_37(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_37> (%08x)", op); return m_pc + (4 >> 0);}
2522ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_38(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_38> (%08x)", op); return m_pc + (4 >> 0);}
2523ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_39(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_39> (%08x)", op); return m_pc + (4 >> 0);}
2524ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_3a(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_3a> (%08x)", op); return m_pc + (4 >> 0);}
2525ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_3b(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_3b> (%08x)", op); return m_pc + (4 >> 0);}
2526ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_3c(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_3c> (%08x)", op); return m_pc + (4 >> 0);}
2527ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_3d(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_3d> (%08x)", op); return m_pc + (4 >> 0);}
2528ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_3e(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_3e> (%08x)", op); return m_pc + (4 >> 0);}
2529ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_2f_3f_3f(OPS_32)  { arcompact_fatal("<illegal 0x04_2f_3f_3f> (%08x)", op); return m_pc + (4 >> 0);}
2530
2531ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_00(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_00> (%08x)", op); return m_pc + (4 >> 0);}
2532ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_01(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_01> (%08x)", op); return m_pc + (4 >> 0);}
2533ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_02(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_02> (%08x)", op); return m_pc + (4 >> 0);}
2534ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_03(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_03> (%08x)", op); return m_pc + (4 >> 0);}
2535ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_04(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_04> (%08x)", op); return m_pc + (4 >> 0);}
2536ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_05(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_05> (%08x)", op); return m_pc + (4 >> 0);}
2537ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_06(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_06> (%08x)", op); return m_pc + (4 >> 0);}
2538ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_07(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_07> (%08x)", op); return m_pc + (4 >> 0);}
2539ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_08(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_08> (%08x)", op); return m_pc + (4 >> 0);}
2540ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_09(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_09> (%08x)", op); return m_pc + (4 >> 0);}
2541ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_0a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_0a> (%08x)", op); return m_pc + (4 >> 0);}
2542ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_0b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_0b> (%08x)", op); return m_pc + (4 >> 0);}
2543ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_0c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_0c> (%08x)", op); return m_pc + (4 >> 0);}
2544ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_0d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_0d> (%08x)", op); return m_pc + (4 >> 0);}
2545ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_0e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_0e> (%08x)", op); return m_pc + (4 >> 0);}
2546ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_0f(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_0f> (%08x)", op); return m_pc + (4 >> 0);}
2547ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_10(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_10> (%08x)", op); return m_pc + (4 >> 0);}
2548ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_11(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_11> (%08x)", op); return m_pc + (4 >> 0);}
2549ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_12(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_12> (%08x)", op); return m_pc + (4 >> 0);}
2550ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_13(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_13> (%08x)", op); return m_pc + (4 >> 0);}
2551ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_14(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_14> (%08x)", op); return m_pc + (4 >> 0);}
2552ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_15(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_15> (%08x)", op); return m_pc + (4 >> 0);}
2553ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_16(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_16> (%08x)", op); return m_pc + (4 >> 0);}
2554ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_17(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_17> (%08x)", op); return m_pc + (4 >> 0);}
2555ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_18(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_18> (%08x)", op); return m_pc + (4 >> 0);}
2556ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_19(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_19> (%08x)", op); return m_pc + (4 >> 0);}
2557ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_1a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_1a> (%08x)", op); return m_pc + (4 >> 0);}
2558ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_1b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_1b> (%08x)", op); return m_pc + (4 >> 0);}
2559ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_1c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_1c> (%08x)", op); return m_pc + (4 >> 0);}
2560ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_1d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_1d> (%08x)", op); return m_pc + (4 >> 0);}
2561ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_1e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_1e> (%08x)", op); return m_pc + (4 >> 0);}
2562ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_1f(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_1f> (%08x)", op); return m_pc + (4 >> 0);}
2563ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_20(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_20> (%08x)", op); return m_pc + (4 >> 0);}
2564ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_21(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_21> (%08x)", op); return m_pc + (4 >> 0);}
2565ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_22(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_22> (%08x)", op); return m_pc + (4 >> 0);}
2566ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_23(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_23> (%08x)", op); return m_pc + (4 >> 0);}
2567ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_24(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_24> (%08x)", op); return m_pc + (4 >> 0);}
2568ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_25(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_25> (%08x)", op); return m_pc + (4 >> 0);}
2569ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_26(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_26> (%08x)", op); return m_pc + (4 >> 0);}
2570ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_27(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_27> (%08x)", op); return m_pc + (4 >> 0);}
2571ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_28(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_28> (%08x)", op); return m_pc + (4 >> 0);}
2572ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_29(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_29> (%08x)", op); return m_pc + (4 >> 0);}
2573ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_2a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_2a> (%08x)", op); return m_pc + (4 >> 0);}
2574ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_2b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_2b> (%08x)", op); return m_pc + (4 >> 0);}
2575ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_2c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_2c> (%08x)", op); return m_pc + (4 >> 0);}
2576ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_2d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_2d> (%08x)", op); return m_pc + (4 >> 0);}
2577ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_2e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_2e> (%08x)", op); return m_pc + (4 >> 0);}
2578ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_2f(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_2f> (%08x)", op); return m_pc + (4 >> 0);}
2579ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_30(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_30> (%08x)", op); return m_pc + (4 >> 0);}
2580ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_31(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_31> (%08x)", op); return m_pc + (4 >> 0);}
2581ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_32(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_32> (%08x)", op); return m_pc + (4 >> 0);}
2582ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_33(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_33> (%08x)", op); return m_pc + (4 >> 0);}
2583ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_34(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_34> (%08x)", op); return m_pc + (4 >> 0);}
2584ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_35(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_35> (%08x)", op); return m_pc + (4 >> 0);}
2585ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_36(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_36> (%08x)", op); return m_pc + (4 >> 0);}
2586ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_37(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_37> (%08x)", op); return m_pc + (4 >> 0);}
2587ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_38(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_38> (%08x)", op); return m_pc + (4 >> 0);}
2588ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_39(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_39> (%08x)", op); return m_pc + (4 >> 0);}
2589ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_3a(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_3a> (%08x)", op); return m_pc + (4 >> 0);}
2590ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_3b(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_3b> (%08x)", op); return m_pc + (4 >> 0);}
2591ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_3c(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_3c> (%08x)", op); return m_pc + (4 >> 0);}
2592ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_3d(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_3d> (%08x)", op); return m_pc + (4 >> 0);}
2593ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_3e(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_3e> (%08x)", op); return m_pc + (4 >> 0);}
2594ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2f_3f_3f(OPS_32)  { arcompact_fatal("<illegal 0x05_2f_3f_3f> (%08x)", op); return m_pc + (4 >> 0);}
2595
2596
2597
2598
2599ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_38(OPS_32)  { arcompact_fatal("<illegal 0x04_38> (%08x)", op); return m_pc + (4 >> 0);}
2600ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_39(OPS_32)  { arcompact_fatal("<illegal 0x04_39> (%08x)", op); return m_pc + (4 >> 0);}
2601ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_3a(OPS_32)  { arcompact_fatal("<illegal 0x04_3a> (%08x)", op); return m_pc + (4 >> 0);}
2602ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_3b(OPS_32)  { arcompact_fatal("<illegal 0x04_3b> (%08x)", op); return m_pc + (4 >> 0);}
2603ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_3c(OPS_32)  { arcompact_fatal("<illegal 0x04_3c> (%08x)", op); return m_pc + (4 >> 0);}
2604ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_3d(OPS_32)  { arcompact_fatal("<illegal 0x04_3d> (%08x)", op); return m_pc + (4 >> 0);}
2605ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_3e(OPS_32)  { arcompact_fatal("<illegal 0x04_3e> (%08x)", op); return m_pc + (4 >> 0);}
2606ARCOMPACT_RETTYPE arcompact_device::arcompact_handle04_3f(OPS_32)  { arcompact_fatal("<illegal 0x04_3f> (%08x)", op); return m_pc + (4 >> 0);}
2607
2608
2609ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_09(OPS_32)  { arcompact_fatal("<illegal 0x05_09> (%08x)", op); return m_pc + (4 >> 0);}
2610ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_0c(OPS_32)  { arcompact_fatal("<illegal 0x05_0c> (%08x)", op); return m_pc + (4 >> 0);}
2611ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_0d(OPS_32)  { arcompact_fatal("<illegal 0x05_0d> (%08x)", op); return m_pc + (4 >> 0);}
2612ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_0e(OPS_32)  { arcompact_fatal("<illegal 0x05_0e> (%08x)", op); return m_pc + (4 >> 0);}
2613ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_0f(OPS_32)  { arcompact_fatal("<illegal 0x05_0f> (%08x)", op); return m_pc + (4 >> 0);}
2614ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_10(OPS_32)  { arcompact_fatal("<illegal 0x05_10> (%08x)", op); return m_pc + (4 >> 0);}
2615ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_11(OPS_32)  { arcompact_fatal("<illegal 0x05_11> (%08x)", op); return m_pc + (4 >> 0);}
2616ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_12(OPS_32)  { arcompact_fatal("<illegal 0x05_12> (%08x)", op); return m_pc + (4 >> 0);}
2617ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_13(OPS_32)  { arcompact_fatal("<illegal 0x05_13> (%08x)", op); return m_pc + (4 >> 0);}
2618ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_14(OPS_32)  { arcompact_fatal("<illegal 0x05_14> (%08x)", op); return m_pc + (4 >> 0);}
2619ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_15(OPS_32)  { arcompact_fatal("<illegal 0x05_15> (%08x)", op); return m_pc + (4 >> 0);}
2620ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_16(OPS_32)  { arcompact_fatal("<illegal 0x05_16> (%08x)", op); return m_pc + (4 >> 0);}
2621ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_17(OPS_32)  { arcompact_fatal("<illegal 0x05_17> (%08x)", op); return m_pc + (4 >> 0);}
2622ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_18(OPS_32)  { arcompact_fatal("<illegal 0x05_18> (%08x)", op); return m_pc + (4 >> 0);}
2623ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_19(OPS_32)  { arcompact_fatal("<illegal 0x05_19> (%08x)", op); return m_pc + (4 >> 0);}
2624ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_1a(OPS_32)  { arcompact_fatal("<illegal 0x05_1a> (%08x)", op); return m_pc + (4 >> 0);}
2625ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_1b(OPS_32)  { arcompact_fatal("<illegal 0x05_1b> (%08x)", op); return m_pc + (4 >> 0);}
2626ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_1c(OPS_32)  { arcompact_fatal("<illegal 0x05_1c> (%08x)", op); return m_pc + (4 >> 0);}
2627ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_1d(OPS_32)  { arcompact_fatal("<illegal 0x05_1d> (%08x)", op); return m_pc + (4 >> 0);}
2628ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_1e(OPS_32)  { arcompact_fatal("<illegal 0x05_1e> (%08x)", op); return m_pc + (4 >> 0);}
2629ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_1f(OPS_32)  { arcompact_fatal("<illegal 0x05_1f> (%08x)", op); return m_pc + (4 >> 0);}
2630ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_20(OPS_32)  { arcompact_fatal("<illegal 0x05_20> (%08x)", op); return m_pc + (4 >> 0);}
2631ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_21(OPS_32)  { arcompact_fatal("<illegal 0x05_21> (%08x)", op); return m_pc + (4 >> 0);}
2632ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_22(OPS_32)  { arcompact_fatal("<illegal 0x05_22> (%08x)", op); return m_pc + (4 >> 0);}
2633ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_23(OPS_32)  { arcompact_fatal("<illegal 0x05_23> (%08x)", op); return m_pc + (4 >> 0);}
2634ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_24(OPS_32)  { arcompact_fatal("<illegal 0x05_24> (%08x)", op); return m_pc + (4 >> 0);}
2635ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_25(OPS_32)  { arcompact_fatal("<illegal 0x05_25> (%08x)", op); return m_pc + (4 >> 0);}
2636ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_26(OPS_32)  { arcompact_fatal("<illegal 0x05_26> (%08x)", op); return m_pc + (4 >> 0);}
2637ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_27(OPS_32)  { arcompact_fatal("<illegal 0x05_27> (%08x)", op); return m_pc + (4 >> 0);}
2638
2639ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2a(OPS_32)  { arcompact_fatal("<illegal 0x05_2a> (%08x)", op); return m_pc + (4 >> 0);}
2640ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2b(OPS_32)  { arcompact_fatal("<illegal 0x05_2b> (%08x)", op); return m_pc + (4 >> 0);}
2641ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2c(OPS_32)  { arcompact_fatal("<illegal 0x05_2c> (%08x)", op); return m_pc + (4 >> 0);}
2642ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2d(OPS_32)  { arcompact_fatal("<illegal 0x05_2d> (%08x)", op); return m_pc + (4 >> 0);}
2643ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_2e(OPS_32)  { arcompact_fatal("<illegal 0x05_2e> (%08x)", op); return m_pc + (4 >> 0);}
2644
2645ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_30(OPS_32)  { arcompact_fatal("<illegal 0x05_30> (%08x)", op); return m_pc + (4 >> 0);}
2646ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_31(OPS_32)  { arcompact_fatal("<illegal 0x05_31> (%08x)", op); return m_pc + (4 >> 0);}
2647ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_32(OPS_32)  { arcompact_fatal("<illegal 0x05_32> (%08x)", op); return m_pc + (4 >> 0);}
2648ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_33(OPS_32)  { arcompact_fatal("<illegal 0x05_33> (%08x)", op); return m_pc + (4 >> 0);}
2649ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_34(OPS_32)  { arcompact_fatal("<illegal 0x05_34> (%08x)", op); return m_pc + (4 >> 0);}
2650ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_35(OPS_32)  { arcompact_fatal("<illegal 0x05_35> (%08x)", op); return m_pc + (4 >> 0);}
2651ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_36(OPS_32)  { arcompact_fatal("<illegal 0x05_36> (%08x)", op); return m_pc + (4 >> 0);}
2652ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_37(OPS_32)  { arcompact_fatal("<illegal 0x05_37> (%08x)", op); return m_pc + (4 >> 0);}
2653ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_38(OPS_32)  { arcompact_fatal("<illegal 0x05_38> (%08x)", op); return m_pc + (4 >> 0);}
2654ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_39(OPS_32)  { arcompact_fatal("<illegal 0x05_39> (%08x)", op); return m_pc + (4 >> 0);}
2655ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_3a(OPS_32)  { arcompact_fatal("<illegal 0x05_3a> (%08x)", op); return m_pc + (4 >> 0);}
2656ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_3b(OPS_32)  { arcompact_fatal("<illegal 0x05_3b> (%08x)", op); return m_pc + (4 >> 0);}
2657ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_3c(OPS_32)  { arcompact_fatal("<illegal 0x05_3c> (%08x)", op); return m_pc + (4 >> 0);}
2658ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_3d(OPS_32)  { arcompact_fatal("<illegal 0x05_3d> (%08x)", op); return m_pc + (4 >> 0);}
2659ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_3e(OPS_32)  { arcompact_fatal("<illegal 0x05_3e> (%08x)", op); return m_pc + (4 >> 0);}
2660ARCOMPACT_RETTYPE arcompact_device::arcompact_handle05_3f(OPS_32)  { arcompact_fatal("<illegal 0x05_3f> (%08x)", op); return m_pc + (4 >> 0);}
2661
2662ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_04(OPS_16)  { arcompact_fatal("<illegal 0x0f_00_00> (%08x)", op); return m_pc + (2 >> 0);;}
2663ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_05(OPS_16)  { arcompact_fatal("<illegal 0x0f_00_00> (%08x)", op); return m_pc + (2 >> 0);;}
2664ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_02(OPS_16)  { arcompact_fatal("<illegal 0x0f_00_07_02> (%08x)", op); return m_pc + (2 >> 0);;}
2665ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_03(OPS_16)  { arcompact_fatal("<illegal 0x0f_00_07_03> (%08x)", op); return m_pc + (2 >> 0);;}
2666ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_01(OPS_16)  { arcompact_fatal("<illegal 0x0f_01> (%08x)", op); return m_pc + (2 >> 0);;}
2667ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_03(OPS_16)  { arcompact_fatal("<illegal 0x0f_03> (%08x)", op); return m_pc + (2 >> 0);;}
2668ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_08(OPS_16)  { arcompact_fatal("<illegal 0x0f_08> (%08x)", op); return m_pc + (2 >> 0);;}
2669ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_09(OPS_16)  { arcompact_fatal("<illegal 0x0f_09> (%08x)", op); return m_pc + (2 >> 0);;}
2670ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_0a(OPS_16)  { arcompact_fatal("<illegal 0x0f_0a> (%08x)", op); return m_pc + (2 >> 0);;}
2671ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_17(OPS_16)  { arcompact_fatal("<illegal 0x0f_17> (%08x)", op); return m_pc + (2 >> 0);;}
2672
2673ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_02(OPS_16)  { arcompact_fatal("<illegal 0x18_05_02> (%04x)", op); return m_pc + (2 >> 0);;}
2674ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_03(OPS_16)  { arcompact_fatal("<illegal 0x18_05_03> (%04x)", op); return m_pc + (2 >> 0);;}
2675ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_04(OPS_16)  { arcompact_fatal("<illegal 0x18_05_04> (%04x)", op); return m_pc + (2 >> 0);;}
2676ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_05(OPS_16)  { arcompact_fatal("<illegal 0x18_05_05> (%04x)", op); return m_pc + (2 >> 0);;}
2677ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_06(OPS_16)  { arcompact_fatal("<illegal 0x18_05_06> (%04x)", op); return m_pc + (2 >> 0);;}
2678ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_05_07(OPS_16)  { arcompact_fatal("<illegal 0x18_05_07> (%04x)", op); return m_pc + (2 >> 0);;}
2679ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_00(OPS_16)  { arcompact_fatal("<illegal 0x18_06_00> (%04x)",  op); return m_pc + (2 >> 0);;}
2680ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_02(OPS_16)  { arcompact_fatal("<illegal 0x18_06_02> (%04x)", op); return m_pc + (2 >> 0);;}
2681ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_03(OPS_16)  { arcompact_fatal("<illegal 0x18_06_03> (%04x)", op); return m_pc + (2 >> 0);;}
2682ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_04(OPS_16)  { arcompact_fatal("<illegal 0x18_06_04> (%04x)", op); return m_pc + (2 >> 0);;}
2683ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_05(OPS_16)  { arcompact_fatal("<illegal 0x18_06_05> (%04x)", op); return m_pc + (2 >> 0);;}
2684ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_06(OPS_16)  { arcompact_fatal("<illegal 0x18_06_06> (%04x)", op); return m_pc + (2 >> 0);;}
2685ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_07(OPS_16)  { arcompact_fatal("<illegal 0x18_06_07> (%04x)", op); return m_pc + (2 >> 0);;}
2686ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_08(OPS_16)  { arcompact_fatal("<illegal 0x18_06_08> (%04x)", op); return m_pc + (2 >> 0);;}
2687ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_09(OPS_16)  { arcompact_fatal("<illegal 0x18_06_09> (%04x)", op); return m_pc + (2 >> 0);;}
2688ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_0a(OPS_16)  { arcompact_fatal("<illegal 0x18_06_0a> (%04x)", op); return m_pc + (2 >> 0);;}
2689ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_0b(OPS_16)  { arcompact_fatal("<illegal 0x18_06_0b> (%04x)", op); return m_pc + (2 >> 0);;}
2690ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_0c(OPS_16)  { arcompact_fatal("<illegal 0x18_06_0c> (%04x)", op); return m_pc + (2 >> 0);;}
2691ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_0d(OPS_16)  { arcompact_fatal("<illegal 0x18_06_0d> (%04x)", op); return m_pc + (2 >> 0);;}
2692ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_0e(OPS_16)  { arcompact_fatal("<illegal 0x18_06_0e> (%04x)", op); return m_pc + (2 >> 0);;}
2693ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_0f(OPS_16)  { arcompact_fatal("<illegal 0x18_06_0f> (%04x)", op); return m_pc + (2 >> 0);;}
2694ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_10(OPS_16)  { arcompact_fatal("<illegal 0x18_06_10> (%04x)", op); return m_pc + (2 >> 0);;}
2695ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_12(OPS_16)  { arcompact_fatal("<illegal 0x18_06_12> (%04x)",  op); return m_pc + (2 >> 0);;}
2696ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_13(OPS_16)  { arcompact_fatal("<illegal 0x18_06_13> (%04x)",  op); return m_pc + (2 >> 0);;}
2697ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_14(OPS_16)  { arcompact_fatal("<illegal 0x18_06_14> (%04x)",  op); return m_pc + (2 >> 0);;}
2698ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_15(OPS_16)  { arcompact_fatal("<illegal 0x18_06_15> (%04x)",  op); return m_pc + (2 >> 0);;}
2699ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_16(OPS_16)  { arcompact_fatal("<illegal 0x18_06_16> (%04x)",  op); return m_pc + (2 >> 0);;}
2700ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_17(OPS_16)  { arcompact_fatal("<illegal 0x18_06_17> (%04x)",  op); return m_pc + (2 >> 0);;}
2701ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_18(OPS_16)  { arcompact_fatal("<illegal 0x18_06_18> (%04x)",  op); return m_pc + (2 >> 0);;}
2702ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_19(OPS_16)  { arcompact_fatal("<illegal 0x18_06_19> (%04x)",  op); return m_pc + (2 >> 0);;}
2703ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_1a(OPS_16)  { arcompact_fatal("<illegal 0x18_06_1a> (%04x)",  op); return m_pc + (2 >> 0);;}
2704ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_1b(OPS_16)  { arcompact_fatal("<illegal 0x18_06_1b> (%04x)",  op); return m_pc + (2 >> 0);;}
2705ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_1c(OPS_16)  { arcompact_fatal("<illegal 0x18_06_1c> (%04x)",  op); return m_pc + (2 >> 0);;}
2706ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_1d(OPS_16)  { arcompact_fatal("<illegal 0x18_06_1d> (%04x)",  op); return m_pc + (2 >> 0);;}
2707ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_1e(OPS_16)  { arcompact_fatal("<illegal 0x18_06_1e> (%04x)",  op); return m_pc + (2 >> 0);;}
2708ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_06_1f(OPS_16)  { arcompact_fatal("<illegal 0x18_06_1f> (%04x)",  op); return m_pc + (2 >> 0);;}
2709ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_00(OPS_16)  { arcompact_fatal("<illegal 0x18_07_00> (%04x)",  op); return m_pc + (2 >> 0);;}
2710ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_02(OPS_16)  { arcompact_fatal("<illegal 0x18_07_02> (%04x)", op); return m_pc + (2 >> 0);;}
2711ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_03(OPS_16)  { arcompact_fatal("<illegal 0x18_07_03> (%04x)", op); return m_pc + (2 >> 0);;}
2712ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_04(OPS_16)  { arcompact_fatal("<illegal 0x18_07_04> (%04x)", op); return m_pc + (2 >> 0);;}
2713ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_05(OPS_16)  { arcompact_fatal("<illegal 0x18_07_05> (%04x)", op); return m_pc + (2 >> 0);;}
2714ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_06(OPS_16)  { arcompact_fatal("<illegal 0x18_07_06> (%04x)", op); return m_pc + (2 >> 0);;}
2715ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_07(OPS_16)  { arcompact_fatal("<illegal 0x18_07_07> (%04x)", op); return m_pc + (2 >> 0);;}
2716ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_08(OPS_16)  { arcompact_fatal("<illegal 0x18_07_08> (%04x)", op); return m_pc + (2 >> 0);;}
2717ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_09(OPS_16)  { arcompact_fatal("<illegal 0x18_07_09> (%04x)", op); return m_pc + (2 >> 0);;}
2718ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_0a(OPS_16)  { arcompact_fatal("<illegal 0x18_07_0a> (%04x)", op); return m_pc + (2 >> 0);;}
2719ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_0b(OPS_16)  { arcompact_fatal("<illegal 0x18_07_0b> (%04x)", op); return m_pc + (2 >> 0);;}
2720ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_0c(OPS_16)  { arcompact_fatal("<illegal 0x18_07_0c> (%04x)", op); return m_pc + (2 >> 0);;}
2721ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_0d(OPS_16)  { arcompact_fatal("<illegal 0x18_07_0d> (%04x)", op); return m_pc + (2 >> 0);;}
2722ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_0e(OPS_16)  { arcompact_fatal("<illegal 0x18_07_0e> (%04x)", op); return m_pc + (2 >> 0);;}
2723ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_0f(OPS_16)  { arcompact_fatal("<illegal 0x18_07_0f> (%04x)", op); return m_pc + (2 >> 0);;}
2724ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_10(OPS_16)  { arcompact_fatal("<illegal 0x18_07_10> (%04x)", op); return m_pc + (2 >> 0);;}
2725ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_12(OPS_16)  { arcompact_fatal("<illegal 0x18_07_12> (%04x)",  op); return m_pc + (2 >> 0);;}
2726ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_13(OPS_16)  { arcompact_fatal("<illegal 0x18_07_13> (%04x)",  op); return m_pc + (2 >> 0);;}
2727ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_14(OPS_16)  { arcompact_fatal("<illegal 0x18_07_14> (%04x)",  op); return m_pc + (2 >> 0);;}
2728ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_15(OPS_16)  { arcompact_fatal("<illegal 0x18_07_15> (%04x)",  op); return m_pc + (2 >> 0);;}
2729ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_16(OPS_16)  { arcompact_fatal("<illegal 0x18_07_16> (%04x)",  op); return m_pc + (2 >> 0);;}
2730ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_17(OPS_16)  { arcompact_fatal("<illegal 0x18_07_17> (%04x)",  op); return m_pc + (2 >> 0);;}
2731ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_18(OPS_16)  { arcompact_fatal("<illegal 0x18_07_18> (%04x)",  op); return m_pc + (2 >> 0);;}
2732ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_19(OPS_16)  { arcompact_fatal("<illegal 0x18_07_19> (%04x)",  op); return m_pc + (2 >> 0);;}
2733ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_1a(OPS_16)  { arcompact_fatal("<illegal 0x18_07_1a> (%04x)",  op); return m_pc + (2 >> 0);;}
2734ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_1b(OPS_16)  { arcompact_fatal("<illegal 0x18_07_1b> (%04x)",  op); return m_pc + (2 >> 0);;}
2735ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_1c(OPS_16)  { arcompact_fatal("<illegal 0x18_07_1c> (%04x)",  op); return m_pc + (2 >> 0);;}
2736ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_1d(OPS_16)  { arcompact_fatal("<illegal 0x18_07_1d> (%04x)",  op); return m_pc + (2 >> 0);;}
2737ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_1e(OPS_16)  { arcompact_fatal("<illegal 0x18_07_1e> (%04x)",  op); return m_pc + (2 >> 0);;}
2738ARCOMPACT_RETTYPE arcompact_device::arcompact_handle18_07_1f(OPS_16)  { arcompact_fatal("<illegal 0x18_07_1f> (%04x)",  op); return m_pc + (2 >> 0);;}
2739
2740
2741
trunk/src/emu/cpu/arcompact/arcompactdasm_ops.c
r242484r242485
2121}
2222
2323
24// condition codes (basic ones are the same as arc
25static const char *conditions[0x20] =
26{
27   /* 00 */ "AL", // (aka RA         - Always)
28   /* 01 */ "EQ", // (aka Z          - Zero
29   /* 02 */ "NE", // (aka NZ         - Non-Zero)
30   /* 03 */ "PL", // (aka P          - Positive)
31   /* 04 */ "MI", // (aka N          - Negative)
32   /* 05 */ "CS", // (aka C,  LO     - Carry set / Lower than) (unsigned)
33   /* 06 */ "CC", // (aka CC, NC, HS - Carry Clear / Higher or Same) (unsigned)
34   /* 07 */ "VS", // (aka V          - Overflow set)
35   /* 08 */ "VC", // (aka NV         - Overflow clear)
36   /* 09 */ "GT", // (               - Greater than) (signed)
37   /* 0a */ "GE", // (               - Greater than or Equal) (signed)
38   /* 0b */ "LT", // (               - Less than) (signed)
39   /* 0c */ "LE", // (               - Less than or Equal) (signed)
40   /* 0d */ "HI", // (               - Higher than) (unsigned)
41   /* 0e */ "LS", // (               - Lower or Same) (unsigned)
42   /* 0f */ "PNZ",// (               - Positive non-0 value)
43   /* 10 */ "0x10 Reserved", // possible CPU implementation specifics
44   /* 11 */ "0x11 Reserved",
45   /* 12 */ "0x12 Reserved",
46   /* 13 */ "0x13 Reserved",
47   /* 14 */ "0x14 Reserved",
48   /* 15 */ "0x15 Reserved",
49   /* 16 */ "0x16 Reserved",
50   /* 17 */ "0x17 Reserved",
51   /* 18 */ "0x18 Reserved",
52   /* 19 */ "0x19 Reserved",
53   /* 1a */ "0x1a Reserved",
54   /* 1b */ "0x1b Reserved",
55   /* 1c */ "0x1c Reserved",
56   /* 1d */ "0x1d Reserved",
57   /* 1e */ "0x1e Reserved",
58   /* 1f */ "0x1f Reserved"
59};
6024
61#define UNUSED_REG "unusedreg"
62
63#define AUX_UNUSED_16 \
64   /* 0xxx0 */ UNUSED_REG,   /* 0xxx1 */ UNUSED_REG,   /* 0xxx2 */ UNUSED_REG,   /* 0xxx3 */ UNUSED_REG,   /* 0xxx4 */ UNUSED_REG,   /* 0xxx5 */ UNUSED_REG,   /* 0xxx6 */ UNUSED_REG,   /* 0xxx7 */ UNUSED_REG,   /* 0xxx8 */ UNUSED_REG,   /* 0xxx9 */ UNUSED_REG,   /* 0xxxa */ UNUSED_REG,   /* 0xxxb */ UNUSED_REG,   /* 0xxxc */ UNUSED_REG,   /* 0xxxd */ UNUSED_REG,   /* 0xxxe */ UNUSED_REG,   /* 0xxxf */ UNUSED_REG,
65
66// the Auxiliary Register set is actually a 2^32 dword address space (so 16 GB / 34-bit)
67// this table just allows us to improve the debugger display for some of the common core / internal ones
68static const char *auxregnames[0x420] =
69{
70   /* 0x000 */ "STATUS",
71   /* 0x001 */ "SEMAPHOR",
72   /* 0x002 */ "LP_START",
73   /* 0x003 */ "LP_END",
74   /* 0x004 */ "IDENTITY",
75   /* 0x005 */ "DEBUG",
76   /* 0x006 */ "PC",
77   /* 0x007 */ UNUSED_REG,
78   /* 0x008 */ UNUSED_REG,
79   /* 0x009 */ UNUSED_REG,
80   /* 0x00a */ "STATUS32",
81   /* 0x00b */ "STATUS32_L1",
82   /* 0x00c */ "STATUS32_L2",
83   /* 0x00d */ UNUSED_REG,
84   /* 0x00e */ UNUSED_REG,
85   /* 0x00f */ UNUSED_REG,
86
87   /* 0x010 */ UNUSED_REG,
88   /* 0x011 */ UNUSED_REG,
89   /* 0x012 */ "MULHI", // extension register
90   /* 0x013 */ UNUSED_REG,
91   /* 0x014 */ UNUSED_REG,
92   /* 0x015 */ UNUSED_REG,
93   /* 0x016 */ UNUSED_REG,
94   /* 0x017 */ UNUSED_REG,
95   /* 0x018 */ UNUSED_REG,
96   /* 0x019 */ UNUSED_REG,
97   /* 0x01a */ UNUSED_REG,
98   /* 0x01b */ UNUSED_REG,
99   /* 0x01c */ UNUSED_REG,
100   /* 0x01d */ UNUSED_REG,
101   /* 0x01e */ UNUSED_REG,
102   /* 0x01f */ UNUSED_REG,
103
104   /* 0x020 */ UNUSED_REG,
105   /* 0x021 */ "COUNT0",
106   /* 0x022 */ "CONTROL0",
107   /* 0x023 */ "LIMIT0",
108   /* 0x024 */ UNUSED_REG,
109   /* 0x025 */ "INT_VECTOR_BASE",
110   /* 0x026 */ UNUSED_REG,
111   /* 0x027 */ UNUSED_REG,
112   /* 0x028 */ UNUSED_REG,
113   /* 0x029 */ UNUSED_REG,
114   /* 0x02a */ UNUSED_REG,
115   /* 0x02b */ UNUSED_REG,
116   /* 0x02c */ UNUSED_REG,
117   /* 0x02d */ UNUSED_REG,
118   /* 0x02e */ UNUSED_REG,
119   /* 0x02f */ UNUSED_REG,
120   AUX_UNUSED_16 /* 0x030 - 0x03f */
121   /* 0x040 */ UNUSED_REG,
122   /* 0x041 */ "AUX_MACMODE",
123   /* 0x042 */ UNUSED_REG,
124   /* 0x043 */ "AUX_IRQLV12",
125   /* 0x044 */ UNUSED_REG,
126   /* 0x045 */ UNUSED_REG,
127   /* 0x046 */ UNUSED_REG,
128   /* 0x047 */ UNUSED_REG,
129   /* 0x048 */ UNUSED_REG,
130   /* 0x049 */ UNUSED_REG,
131   /* 0x04a */ UNUSED_REG,
132   /* 0x04b */ UNUSED_REG,
133   /* 0x04c */ UNUSED_REG,
134   /* 0x04d */ UNUSED_REG,
135   /* 0x04e */ UNUSED_REG,
136   /* 0x04f */ UNUSED_REG,
137   AUX_UNUSED_16 /* 0x050 - 0x05f */
138   // build configuration registers 0x060 - 0x07f
139   /* 0x060 */ "RESERVED AUX 0x60",/* 0x061 */ "RESERVED AUX 0x61",/* 0x062 */ "RESERVED AUX 0x62",/* 0x063 */ "RESERVED AUX 0x63",/* 0x064 */ "RESERVED AUX 0x64",/* 0x065 */ "RESERVED AUX 0x65",/* 0x066 */ "RESERVED AUX 0x66",/* 0x067 */ "RESERVED AUX 0x67",/* 0x068 */ "RESERVED AUX 0x68",/* 0x069 */ "RESERVED AUX 0x69",/* 0x06a */ "RESERVED AUX 0x6a",/* 0x06b */ "RESERVED AUX 0x6b",/* 0x06c */ "RESERVED AUX 0x6c",/* 0x06d */ "RESERVED AUX 0x6d",/* 0x06e */ "RESERVED AUX 0x6e",/* 0x06f */ "RESERVED AUX 0x6f",
140   /* 0x070 */ "RESERVED AUX 0x70",/* 0x071 */ "RESERVED AUX 0x71",/* 0x072 */ "RESERVED AUX 0x72",/* 0x073 */ "RESERVED AUX 0x73",/* 0x074 */ "RESERVED AUX 0x74",/* 0x075 */ "RESERVED AUX 0x75",/* 0x076 */ "RESERVED AUX 0x76",/* 0x077 */ "RESERVED AUX 0x77",/* 0x078 */ "RESERVED AUX 0x78",/* 0x079 */ "RESERVED AUX 0x79",/* 0x07a */ "RESERVED AUX 0x7a",/* 0x07b */ "RESERVED AUX 0x7b",/* 0x07c */ "RESERVED AUX 0x7c",/* 0x07d */ "RESERVED AUX 0x7d",/* 0x07e */ "RESERVED AUX 0x7e",/* 0x07f */ "RESERVED AUX 0x7f",
141   AUX_UNUSED_16 /* 0x080 - 0x08f */
142   AUX_UNUSED_16 /* 0x090 - 0x09f */
143   AUX_UNUSED_16 /* 0x0a0 - 0x0af */
144   AUX_UNUSED_16 /* 0x0b0 - 0x0bf */
145    // build configuration registers 0x0c0 - 0x0ff
146   /* 0x0c0 */ "RESERVED AUX 0xc0",/* 0x0c1 */ "RESERVED AUX 0xc1",/* 0x0c2 */ "RESERVED AUX 0xc2",/* 0x0c3 */ "RESERVED AUX 0xc3",/* 0x0c4 */ "RESERVED AUX 0xc4",/* 0x0c5 */ "RESERVED AUX 0xc5",/* 0x0c6 */ "RESERVED AUX 0xc6",/* 0x0c7 */ "RESERVED AUX 0xc7",/* 0x0c8 */ "RESERVED AUX 0xc8",/* 0x0c9 */ "RESERVED AUX 0xc9",/* 0x0ca */ "RESERVED AUX 0xca",/* 0x0cb */ "RESERVED AUX 0xcb",/* 0x0cc */ "RESERVED AUX 0xcc",/* 0x0cd */ "RESERVED AUX 0xcd",/* 0x0ce */ "RESERVED AUX 0xce",/* 0x0cf */ "RESERVED AUX 0xcf",
147   /* 0x0d0 */ "RESERVED AUX 0xd0",/* 0x0d1 */ "RESERVED AUX 0xd1",/* 0x0d2 */ "RESERVED AUX 0xd2",/* 0x0d3 */ "RESERVED AUX 0xd3",/* 0x0d4 */ "RESERVED AUX 0xd4",/* 0x0d5 */ "RESERVED AUX 0xd5",/* 0x0d6 */ "RESERVED AUX 0xd6",/* 0x0d7 */ "RESERVED AUX 0xd7",/* 0x0d8 */ "RESERVED AUX 0xd8",/* 0x0d9 */ "RESERVED AUX 0xd9",/* 0x0da */ "RESERVED AUX 0xda",/* 0x0db */ "RESERVED AUX 0xdb",/* 0x0dc */ "RESERVED AUX 0xdc",/* 0x0dd */ "RESERVED AUX 0xdd",/* 0x0de */ "RESERVED AUX 0xde",/* 0x0df */ "RESERVED AUX 0xdf",
148   /* 0x0e0 */ "RESERVED AUX 0xe0",/* 0x0e1 */ "RESERVED AUX 0xe1",/* 0x0e2 */ "RESERVED AUX 0xe2",/* 0x0e3 */ "RESERVED AUX 0xe3",/* 0x0e4 */ "RESERVED AUX 0xe4",/* 0x0e5 */ "RESERVED AUX 0xe5",/* 0x0e6 */ "RESERVED AUX 0xe6",/* 0x0e7 */ "RESERVED AUX 0xe7",/* 0x0e8 */ "RESERVED AUX 0xe8",/* 0x0e9 */ "RESERVED AUX 0xe9",/* 0x0ea */ "RESERVED AUX 0xea",/* 0x0eb */ "RESERVED AUX 0xeb",/* 0x0ec */ "RESERVED AUX 0xec",/* 0x0ed */ "RESERVED AUX 0xed",/* 0x0ee */ "RESERVED AUX 0xee",/* 0x0ef */ "RESERVED AUX 0xef",
149   /* 0x0f0 */ "RESERVED AUX 0xf0",/* 0x0f1 */ "RESERVED AUX 0xf1",/* 0x0f2 */ "RESERVED AUX 0xf2",/* 0x0f3 */ "RESERVED AUX 0xf3",/* 0x0f4 */ "RESERVED AUX 0xf4",/* 0x0f5 */ "RESERVED AUX 0xf5",/* 0x0f6 */ "RESERVED AUX 0xf6",/* 0x0f7 */ "RESERVED AUX 0xf7",/* 0x0f8 */ "RESERVED AUX 0xf8",/* 0x0f9 */ "RESERVED AUX 0xf9",/* 0x0fa */ "RESERVED AUX 0xfa",/* 0x0fb */ "RESERVED AUX 0xfb",/* 0x0fc */ "RESERVED AUX 0xfc",/* 0x0fd */ "RESERVED AUX 0xfd",/* 0x0fe */ "RESERVED AUX 0xfe",/* 0x0ff */ "RESERVED AUX 0xff",
150   /* 0x100 */ "COUNT1",
151   /* 0x101 */ "CONTROL1",
152   /* 0x102 */ "LIMIT1",
153   /* 0x103 */ UNUSED_REG,
154   /* 0x104 */ UNUSED_REG,
155   /* 0x105 */ UNUSED_REG,
156   /* 0x106 */ UNUSED_REG,
157   /* 0x107 */ UNUSED_REG,
158   /* 0x108 */ UNUSED_REG,
159   /* 0x109 */ UNUSED_REG,
160   /* 0x10a */ UNUSED_REG,
161   /* 0x10b */ UNUSED_REG,
162   /* 0x10c */ UNUSED_REG,
163   /* 0x10d */ UNUSED_REG,
164   /* 0x10e */ UNUSED_REG,
165   /* 0x10f */ UNUSED_REG,
166   AUX_UNUSED_16 /* 0x110 - 0x11f */
167   AUX_UNUSED_16 /* 0x120 - 0x12f */
168   AUX_UNUSED_16 /* 0x130 - 0x13f */
169   AUX_UNUSED_16 /* 0x140 - 0x14f */
170   AUX_UNUSED_16 /* 0x150 - 0x15f */
171   AUX_UNUSED_16 /* 0x160 - 0x16f */
172   AUX_UNUSED_16 /* 0x170 - 0x17f */
173   AUX_UNUSED_16 /* 0x180 - 0x18f */
174   AUX_UNUSED_16 /* 0x190 - 0x19f */
175   AUX_UNUSED_16 /* 0x1a0 - 0x1af */
176   AUX_UNUSED_16 /* 0x1b0 - 0x1bf */
177   AUX_UNUSED_16 /* 0x1c0 - 0x1cf */
178   AUX_UNUSED_16 /* 0x1d0 - 0x1df */
179   AUX_UNUSED_16 /* 0x1e0 - 0x1ef */
180   AUX_UNUSED_16 /* 0x1f0 - 0x1ff */
181   /* 0x200 */ "AUX_IRQ_LEV",
182   /* 0x201 */ "AUX_IRQ_HINT",
183   /* 0x203 */ UNUSED_REG,
184   /* 0x203 */ UNUSED_REG,
185   /* 0x204 */ UNUSED_REG,
186   /* 0x205 */ UNUSED_REG,
187   /* 0x206 */ UNUSED_REG,
188   /* 0x207 */ UNUSED_REG,
189   /* 0x208 */ UNUSED_REG,
190   /* 0x209 */ UNUSED_REG,
191   /* 0x20a */ UNUSED_REG,
192   /* 0x20b */ UNUSED_REG,
193   /* 0x20c */ UNUSED_REG,
194   /* 0x20d */ UNUSED_REG,
195   /* 0x20e */ UNUSED_REG,
196   /* 0x20f */ UNUSED_REG,
197   AUX_UNUSED_16 /* 0x210 - 0x21f */
198   AUX_UNUSED_16 /* 0x220 - 0x22f */
199   AUX_UNUSED_16 /* 0x230 - 0x23f */
200   AUX_UNUSED_16 /* 0x240 - 0x24f */
201   AUX_UNUSED_16 /* 0x250 - 0x25f */
202   AUX_UNUSED_16 /* 0x260 - 0x26f */
203   AUX_UNUSED_16 /* 0x270 - 0x27f */
204   AUX_UNUSED_16 /* 0x280 - 0x28f */
205   AUX_UNUSED_16 /* 0x290 - 0x29f */
206   AUX_UNUSED_16 /* 0x2a0 - 0x2af */
207   AUX_UNUSED_16 /* 0x2b0 - 0x2bf */
208   AUX_UNUSED_16 /* 0x2c0 - 0x2cf */
209   AUX_UNUSED_16 /* 0x2d0 - 0x2df */
210   AUX_UNUSED_16 /* 0x2e0 - 0x2ef */
211   AUX_UNUSED_16 /* 0x2f0 - 0x2ff */
212
213   AUX_UNUSED_16 /* 0x300 - 0x30f */
214   AUX_UNUSED_16 /* 0x310 - 0x31f */
215   AUX_UNUSED_16 /* 0x320 - 0x32f */
216   AUX_UNUSED_16 /* 0x330 - 0x33f */
217   AUX_UNUSED_16 /* 0x340 - 0x34f */
218   AUX_UNUSED_16 /* 0x350 - 0x35f */
219   AUX_UNUSED_16 /* 0x360 - 0x36f */
220   AUX_UNUSED_16 /* 0x370 - 0x37f */
221   AUX_UNUSED_16 /* 0x380 - 0x38f */
222   AUX_UNUSED_16 /* 0x390 - 0x39f */
223   AUX_UNUSED_16 /* 0x3a0 - 0x3af */
224   AUX_UNUSED_16 /* 0x3b0 - 0x3bf */
225   AUX_UNUSED_16 /* 0x3c0 - 0x3cf */
226   AUX_UNUSED_16 /* 0x3d0 - 0x3df */
227   AUX_UNUSED_16 /* 0x3e0 - 0x3ef */
228   AUX_UNUSED_16 /* 0x3f0 - 0x3ff */
229
230   /* 0x400 */ "ERET",
231   /* 0x401 */ "ERBTA",
232   /* 0x403 */ "ERSTATUS",
233   /* 0x403 */ "ECR",
234   /* 0x404 */ "EFA",
235   /* 0x405 */ UNUSED_REG,
236   /* 0x406 */ UNUSED_REG,
237   /* 0x407 */ UNUSED_REG,
238   /* 0x408 */ UNUSED_REG,
239   /* 0x409 */ UNUSED_REG,
240   /* 0x40a */ "ICAUSE1",
241   /* 0x40b */ "ICAUSE2",
242   /* 0x40c */ "AUX_IENABLE",
243   /* 0x40d */ "AUX_ITRIGGER",
244   /* 0x40e */ UNUSED_REG,
245   /* 0x40f */ UNUSED_REG,
246
247   /* 0x410 */ "XPU",
248   /* 0x411 */ UNUSED_REG,
249   /* 0x412 */ "BTA",
250   /* 0x413 */ "BTA_L1",
251   /* 0x414 */ "BTA_L2",
252   /* 0x415 */ "AUX_IRQ_PULSE_CANCEL",
253   /* 0x416 */ "AUX_IRQ_PENDING",
254   /* 0x417 */ UNUSED_REG,
255   /* 0x418 */ UNUSED_REG,
256   /* 0x419 */ UNUSED_REG,
257   /* 0x41a */ UNUSED_REG,
258   /* 0x41b */ UNUSED_REG,
259   /* 0x41c */ UNUSED_REG,
260   /* 0x41d */ UNUSED_REG,
261   /* 0x41e */ UNUSED_REG,
262   /* 0x41f */ UNUSED_REG
263};
264
265//#define EXPLICIT_EXTENSIONS
266
267static const char *datasize[0x4] =
268{
269#ifdef EXPLICIT_EXTENSIONS
270   /* 00 */ ".L", // Dword (default) (can use no extension, using .L to be explicit)
271#else
272   /* 00 */ "",// Dword (default)
273#endif
274   /* 01 */ ".B", // Byte
275   /* 02 */ ".W", // Word
276   /* 03 */ ".<illegal data size>"
277};
278
279static const char *dataextend[0x2] =
280{
281#ifdef EXPLICIT_EXTENSIONS
282   /* 00 */ ".ZX", // Zero Extend (can use no extension, using .ZX to be explicit)
283#else
284   /* 00 */ "", // Zero Extend
285#endif
286   /* 01 */ ".X" // Sign Extend
287};
288
289static const char *addressmode[0x4] =
290{
291#ifdef EXPLICIT_EXTENSIONS
292   /* 00 */ ".AN", // No Writeback (can use no extension, using .AN to be explicit)
293#else
294   /* 00 */ "", // No Writeback
295#endif
296   /* 01 */ ".AW", // Writeback pre memory access
297   /* 02 */ ".AB", // Writeback post memory access
298   /* 03 */ ".AS"  // scaled
299};
300
301static const char *cachebit[0x2] =
302{
303#ifdef EXPLICIT_EXTENSIONS
304   /* 00 */ ".EN", // Data Cache Enabled (can use no extension, using .EN to be explicit)
305#else
306   /* 00 */ "", // Data Cache Enabled
307#endif
308   /* 01 */ ".DI" // Direct to Memory (Cache Bypass)
309};
310
311static const char *flagbit[0x2] =
312{
313#ifdef EXPLICIT_EXTENSIONS
314   /* 00 */ ".NF", // Don't Set Flags (can use no extension, using .NF to be explicit)
315#else
316   /* 00 */ "", // Don't Set Flags
317#endif
318   /* 01 */ ".F" // Set Flags
319};
320
321static const char *delaybit[0x2] =
322{
323   /* 00 */ ".ND", // Don't execute opcode in delay slot
324   /* 01 */ ".D"   // Execute Opcode in delay slot
325};
326
327
328static const char *regnames[0x40] =
329{
330   /* 00 */ "r0",
331   /* 01 */ "r1",
332   /* 02 */ "r2",
333   /* 03 */ "r3",
334   /* 04 */ "r4",
335   /* 05 */ "r5",
336   /* 06 */ "r6",
337   /* 07 */ "r7",
338   /* 08 */ "r8",
339   /* 09 */ "r9",
340   /* 0a */ "r10",
341   /* 0b */ "r11",
342   /* 0c */ "r12",
343   /* 0d */ "r13",
344   /* 0e */ "r14",
345   /* 0f */ "r15",
346
347   /* 10 */ "r16",
348   /* 11 */ "r17",
349   /* 12 */ "r18",
350   /* 13 */ "r19",
351   /* 14 */ "r20",
352   /* 15 */ "r21",
353   /* 16 */ "r22",
354   /* 17 */ "r23",
355   /* 18 */ "r24",
356   /* 19 */ "r25",
357   /* 1a */ "r26(GP)",
358   /* 1b */ "r27(FP)",
359   /* 1c */ "r28(SP)",
360   /* 1d */ "r29(ILINK1)",
361   /* 1e */ "r30(ILINK2)",
362   /* 1f */ "r31(BLINK)",
363
364   /* 20 */ "r32(ext)",
365   /* 21 */ "r33(ext)",
366   /* 22 */ "r34(ext)",
367   /* 23 */ "r35(ext)",
368   /* 24 */ "r36(ext)",
369   /* 25 */ "r37(ext)",
370   /* 26 */ "r38(ext)",
371   /* 27 */ "r39(ext)",
372   /* 28 */ "r40(ext)",
373   /* 29 */ "r41(ext)",
374   /* 2a */ "r42(ext)",
375   /* 2b */ "r43(ext)",
376   /* 2c */ "r44(ext)",
377   /* 2d */ "r45(ext)",
378   /* 2e */ "r46(ext)",
379   /* 2f */ "r47(ext)",
380
381   /* 30 */ "r48(ext)",
382   /* 31 */ "r49(ext)",
383   /* 32 */ "r50(ext)",
384   /* 33 */ "r51(ext)",
385   /* 34 */ "r52(ext)",
386   /* 35 */ "r53(ext)",
387   /* 36 */ "r54(ext)",
388   /* 37 */ "r55(ext)",
389   /* 38 */ "r56(ext)",
390   /* 39 */ "r57(M-LO)",  // MLO  (result registers for optional multply functions)
391   /* 3a */ "r58(M-MID)", // MMID
392   /* 3b */ "r59(M-HI)",  // MHI
393   /* 3c */ "r60(LP_COUNT)",
394   /* 3d */ "r61(reserved)",
395   /* 3e */ "r62(LIMM)", // use Long Immediate Data instead of register
396   /* 3f */ "r63(PCL)"
397};
398
399
400
40125#define GET_01_01_01_BRANCH_ADDR \
40226   INT32 address = (op & 0x00fe0000) >> 17; \
40327   address |= ((op & 0x00008000) >> 15) << 7; \
r242484r242485
1302926   return size;}
1303927
1304928
1305int arcompact_handle04_29_dasm(DASM_OPS_32)  { print("FLAG (%08x)", op); return 4;}
929int arcompact_handle04_29_dasm(DASM_OPS_32)
930{
931   // leapster bios uses formats for FLAG that are not defined, bug I guess work anyway (P modes 0 / 1)
932   return arcompact_handle04_helper_dasm(DASM_PARAMS, "FLAG", 1,1);
933}
1306934
1307935
1308936int arcompact_handle04_2f_helper_dasm(DASM_OPS_32, const char* optext)
trunk/src/emu/cpu/arcompact/arcompactdasm_ops.h
r242484r242485
55*                                                                                                                                   *
66************************************************************************************************************************************/
77
8#include "arcompact_common.h"
9
810#define DASM_OPS_16 char *output, offs_t pc, UINT16 op, const UINT8* oprom
911#define DASM_OPS_32 char *output, offs_t pc, UINT32 op, const UINT8* oprom
1012#define DASM_PARAMS output, pc, op, oprom
r242484r242485
115117int arcompact_handle05_0b_dasm(DASM_OPS_32);
116118int arcompact_handle05_28_dasm(DASM_OPS_32);
117119int arcompact_handle05_29_dasm(DASM_OPS_32);
118//int arcompact_handle05_2f_dasm(DASM_OPS_32);
120
119121int arcompact_handle06_dasm(DASM_OPS_32);
120122int arcompact_handle07_dasm(DASM_OPS_32);
121123int arcompact_handle08_dasm(DASM_OPS_32);
r242484r242485
226228*                                                                                                                                   *
227229************************************************************************************************************************************/
228230
229int arcompact_handle01_01_00_06_dasm(DASM_OPS_32); //("<illegal 01_01_00_06> (%08x)", op); return 4; }
230int arcompact_handle01_01_00_07_dasm(DASM_OPS_32); //("<illegal 01_01_00_07> (%08x)", op); return 4; }
231int arcompact_handle01_01_00_08_dasm(DASM_OPS_32); //("<illegal 01_01_00_08> (%08x)", op); return 4; }
232int arcompact_handle01_01_00_09_dasm(DASM_OPS_32); //("<illegal 01_01_00_09> (%08x)", op); return 4; }
233int arcompact_handle01_01_00_0a_dasm(DASM_OPS_32); //("<illegal 01_01_00_0a> (%08x)", op); return 4; }
234int arcompact_handle01_01_00_0b_dasm(DASM_OPS_32); //("<illegal 01_01_00_0b> (%08x)", op); return 4; }
235int arcompact_handle01_01_00_0c_dasm(DASM_OPS_32); //("<illegal 01_01_00_0c> (%08x)", op); return 4; }
236int arcompact_handle01_01_00_0d_dasm(DASM_OPS_32); //("<illegal 01_01_00_0d> (%08x)", op); return 4; }
231int arcompact_handle01_01_00_06_dasm(DASM_OPS_32);
232int arcompact_handle01_01_00_07_dasm(DASM_OPS_32);
233int arcompact_handle01_01_00_08_dasm(DASM_OPS_32);
234int arcompact_handle01_01_00_09_dasm(DASM_OPS_32);
235int arcompact_handle01_01_00_0a_dasm(DASM_OPS_32);
236int arcompact_handle01_01_00_0b_dasm(DASM_OPS_32);
237int arcompact_handle01_01_00_0c_dasm(DASM_OPS_32);
238int arcompact_handle01_01_00_0d_dasm(DASM_OPS_32);
237239
238int arcompact_handle01_01_01_06_dasm(DASM_OPS_32); //("<illegal 01_01_01_06> (%08x)", op); return 4; }
239int arcompact_handle01_01_01_07_dasm(DASM_OPS_32); //("<illegal 01_01_01_07> (%08x)", op); return 4; }
240int arcompact_handle01_01_01_08_dasm(DASM_OPS_32); //("<illegal 01_01_01_08> (%08x)", op); return 4; }
241int arcompact_handle01_01_01_09_dasm(DASM_OPS_32); //("<illegal 01_01_01_09> (%08x)", op); return 4; }
242int arcompact_handle01_01_01_0a_dasm(DASM_OPS_32); //("<illegal 01_01_01_0a> (%08x)", op); return 4; }
243int arcompact_handle01_01_01_0b_dasm(DASM_OPS_32); //("<illegal 01_01_01_0b> (%08x)", op); return 4; }
244int arcompact_handle01_01_01_0c_dasm(DASM_OPS_32); //("<illegal 01_01_01_0c> (%08x)", op); return 4; }
245int arcompact_handle01_01_01_0d_dasm(DASM_OPS_32); //("<illegal 01_01_01_0d> (%08x)", op); return 4; }
240int arcompact_handle01_01_01_06_dasm(DASM_OPS_32);
241int arcompact_handle01_01_01_07_dasm(DASM_OPS_32);
242int arcompact_handle01_01_01_08_dasm(DASM_OPS_32);
243int arcompact_handle01_01_01_09_dasm(DASM_OPS_32);
244int arcompact_handle01_01_01_0a_dasm(DASM_OPS_32);
245int arcompact_handle01_01_01_0b_dasm(DASM_OPS_32);
246int arcompact_handle01_01_01_0c_dasm(DASM_OPS_32);
247int arcompact_handle01_01_01_0d_dasm(DASM_OPS_32);
246248
247249
248int arcompact_handle04_1e_dasm(DASM_OPS_32); //("<illegal 0x04_1e> (%08x)", op); return 4;}
249int arcompact_handle04_1f_dasm(DASM_OPS_32); //("<illegal 0x04_1f> (%08x)", op); return 4;}
250int arcompact_handle04_1e_dasm(DASM_OPS_32);
251int arcompact_handle04_1f_dasm(DASM_OPS_32);
250252
251int arcompact_handle04_24_dasm(DASM_OPS_32); //("<illegal 0x04_24> (%08x)", op); return 4;}
252int arcompact_handle04_25_dasm(DASM_OPS_32); //("<illegal 0x04_25> (%08x)", op); return 4;}
253int arcompact_handle04_26_dasm(DASM_OPS_32); //("<illegal 0x04_26> (%08x)", op); return 4;}
254int arcompact_handle04_27_dasm(DASM_OPS_32); //("<illegal 0x04_27> (%08x)", op); return 4;}
253int arcompact_handle04_24_dasm(DASM_OPS_32);
254int arcompact_handle04_25_dasm(DASM_OPS_32);
255int arcompact_handle04_26_dasm(DASM_OPS_32);
256int arcompact_handle04_27_dasm(DASM_OPS_32);
255257
256int arcompact_handle04_2c_dasm(DASM_OPS_32); //("<illegal 0x04_2c> (%08x)", op); return 4;}
257int arcompact_handle04_2d_dasm(DASM_OPS_32); //("<illegal 0x04_2d> (%08x)", op); return 4;}
258int arcompact_handle04_2e_dasm(DASM_OPS_32); //("<illegal 0x04_2e> (%08x)", op); return 4;}
258int arcompact_handle04_2c_dasm(DASM_OPS_32);
259int arcompact_handle04_2d_dasm(DASM_OPS_32);
260int arcompact_handle04_2e_dasm(DASM_OPS_32);
259261
260int arcompact_handle04_2f_0d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_0d> (%08x)", op); return 4;}
261int arcompact_handle04_2f_0e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_0e> (%08x)", op); return 4;}
262int arcompact_handle04_2f_0f_dasm(DASM_OPS_32); //("<illegal 0x04_2f_0f> (%08x)", op); return 4;}
263int arcompact_handle04_2f_10_dasm(DASM_OPS_32); //("<illegal 0x04_2f_10> (%08x)", op); return 4;}
264int arcompact_handle04_2f_11_dasm(DASM_OPS_32); //("<illegal 0x04_2f_11> (%08x)", op); return 4;}
265int arcompact_handle04_2f_12_dasm(DASM_OPS_32); //("<illegal 0x04_2f_12> (%08x)", op); return 4;}
266int arcompact_handle04_2f_13_dasm(DASM_OPS_32); //("<illegal 0x04_2f_13> (%08x)", op); return 4;}
267int arcompact_handle04_2f_14_dasm(DASM_OPS_32); //("<illegal 0x04_2f_14> (%08x)", op); return 4;}
268int arcompact_handle04_2f_15_dasm(DASM_OPS_32); //("<illegal 0x04_2f_15> (%08x)", op); return 4;}
269int arcompact_handle04_2f_16_dasm(DASM_OPS_32); //("<illegal 0x04_2f_16> (%08x)", op); return 4;}
270int arcompact_handle04_2f_17_dasm(DASM_OPS_32); //("<illegal 0x04_2f_17> (%08x)", op); return 4;}
271int arcompact_handle04_2f_18_dasm(DASM_OPS_32); //("<illegal 0x04_2f_18> (%08x)", op); return 4;}
272int arcompact_handle04_2f_19_dasm(DASM_OPS_32); //("<illegal 0x04_2f_19> (%08x)", op); return 4;}
273int arcompact_handle04_2f_1a_dasm(DASM_OPS_32); //("<illegal 0x04_2f_1a> (%08x)", op); return 4;}
274int arcompact_handle04_2f_1b_dasm(DASM_OPS_32); //("<illegal 0x04_2f_1b> (%08x)", op); return 4;}
275int arcompact_handle04_2f_1c_dasm(DASM_OPS_32); //("<illegal 0x04_2f_1c> (%08x)", op); return 4;}
276int arcompact_handle04_2f_1d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_1d> (%08x)", op); return 4;}
277int arcompact_handle04_2f_1e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_1e> (%08x)", op); return 4;}
278int arcompact_handle04_2f_1f_dasm(DASM_OPS_32); //("<illegal 0x04_2f_1f> (%08x)", op); return 4;}
279int arcompact_handle04_2f_20_dasm(DASM_OPS_32); //("<illegal 0x04_2f_20> (%08x)", op); return 4;}
280int arcompact_handle04_2f_21_dasm(DASM_OPS_32); //("<illegal 0x04_2f_21> (%08x)", op); return 4;}
281int arcompact_handle04_2f_22_dasm(DASM_OPS_32); //("<illegal 0x04_2f_22> (%08x)", op); return 4;}
282int arcompact_handle04_2f_23_dasm(DASM_OPS_32); //("<illegal 0x04_2f_23> (%08x)", op); return 4;}
283int arcompact_handle04_2f_24_dasm(DASM_OPS_32); //("<illegal 0x04_2f_24> (%08x)", op); return 4;}
284int arcompact_handle04_2f_25_dasm(DASM_OPS_32); //("<illegal 0x04_2f_25> (%08x)", op); return 4;}
285int arcompact_handle04_2f_26_dasm(DASM_OPS_32); //("<illegal 0x04_2f_26> (%08x)", op); return 4;}
286int arcompact_handle04_2f_27_dasm(DASM_OPS_32); //("<illegal 0x04_2f_27> (%08x)", op); return 4;}
287int arcompact_handle04_2f_28_dasm(DASM_OPS_32); //("<illegal 0x04_2f_28> (%08x)", op); return 4;}
288int arcompact_handle04_2f_29_dasm(DASM_OPS_32); //("<illegal 0x04_2f_29> (%08x)", op); return 4;}
289int arcompact_handle04_2f_2a_dasm(DASM_OPS_32); //("<illegal 0x04_2f_2a> (%08x)", op); return 4;}
290int arcompact_handle04_2f_2b_dasm(DASM_OPS_32); //("<illegal 0x04_2f_2b> (%08x)", op); return 4;}
291int arcompact_handle04_2f_2c_dasm(DASM_OPS_32); //("<illegal 0x04_2f_2c> (%08x)", op); return 4;}
292int arcompact_handle04_2f_2d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_2d> (%08x)", op); return 4;}
293int arcompact_handle04_2f_2e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_2e> (%08x)", op); return 4;}
294int arcompact_handle04_2f_2f_dasm(DASM_OPS_32); //("<illegal 0x04_2f_2f> (%08x)", op); return 4;}
295int arcompact_handle04_2f_30_dasm(DASM_OPS_32); //("<illegal 0x04_2f_30> (%08x)", op); return 4;}
296int arcompact_handle04_2f_31_dasm(DASM_OPS_32); //("<illegal 0x04_2f_31> (%08x)", op); return 4;}
297int arcompact_handle04_2f_32_dasm(DASM_OPS_32); //("<illegal 0x04_2f_32> (%08x)", op); return 4;}
298int arcompact_handle04_2f_33_dasm(DASM_OPS_32); //("<illegal 0x04_2f_33> (%08x)", op); return 4;}
299int arcompact_handle04_2f_34_dasm(DASM_OPS_32); //("<illegal 0x04_2f_34> (%08x)", op); return 4;}
300int arcompact_handle04_2f_35_dasm(DASM_OPS_32); //("<illegal 0x04_2f_35> (%08x)", op); return 4;}
301int arcompact_handle04_2f_36_dasm(DASM_OPS_32); //("<illegal 0x04_2f_36> (%08x)", op); return 4;}
302int arcompact_handle04_2f_37_dasm(DASM_OPS_32); //("<illegal 0x04_2f_37> (%08x)", op); return 4;}
303int arcompact_handle04_2f_38_dasm(DASM_OPS_32); //("<illegal 0x04_2f_38> (%08x)", op); return 4;}
304int arcompact_handle04_2f_39_dasm(DASM_OPS_32); //("<illegal 0x04_2f_39> (%08x)", op); return 4;}
305int arcompact_handle04_2f_3a_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3a> (%08x)", op); return 4;}
306int arcompact_handle04_2f_3b_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3b> (%08x)", op); return 4;}
307int arcompact_handle04_2f_3c_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3c> (%08x)", op); return 4;}
308int arcompact_handle04_2f_3d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3d> (%08x)", op); return 4;}
309int arcompact_handle04_2f_3e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3e> (%08x)", op); return 4;}
262int arcompact_handle04_2f_0d_dasm(DASM_OPS_32);
263int arcompact_handle04_2f_0e_dasm(DASM_OPS_32);
264int arcompact_handle04_2f_0f_dasm(DASM_OPS_32);
265int arcompact_handle04_2f_10_dasm(DASM_OPS_32);
266int arcompact_handle04_2f_11_dasm(DASM_OPS_32);
267int arcompact_handle04_2f_12_dasm(DASM_OPS_32);
268int arcompact_handle04_2f_13_dasm(DASM_OPS_32);
269int arcompact_handle04_2f_14_dasm(DASM_OPS_32);
270int arcompact_handle04_2f_15_dasm(DASM_OPS_32);
271int arcompact_handle04_2f_16_dasm(DASM_OPS_32);
272int arcompact_handle04_2f_17_dasm(DASM_OPS_32);
273int arcompact_handle04_2f_18_dasm(DASM_OPS_32);
274int arcompact_handle04_2f_19_dasm(DASM_OPS_32);
275int arcompact_handle04_2f_1a_dasm(DASM_OPS_32);
276int arcompact_handle04_2f_1b_dasm(DASM_OPS_32);
277int arcompact_handle04_2f_1c_dasm(DASM_OPS_32);
278int arcompact_handle04_2f_1d_dasm(DASM_OPS_32);
279int arcompact_handle04_2f_1e_dasm(DASM_OPS_32);
280int arcompact_handle04_2f_1f_dasm(DASM_OPS_32);
281int arcompact_handle04_2f_20_dasm(DASM_OPS_32);
282int arcompact_handle04_2f_21_dasm(DASM_OPS_32);
283int arcompact_handle04_2f_22_dasm(DASM_OPS_32);
284int arcompact_handle04_2f_23_dasm(DASM_OPS_32);
285int arcompact_handle04_2f_24_dasm(DASM_OPS_32);
286int arcompact_handle04_2f_25_dasm(DASM_OPS_32);
287int arcompact_handle04_2f_26_dasm(DASM_OPS_32);
288int arcompact_handle04_2f_27_dasm(DASM_OPS_32);
289int arcompact_handle04_2f_28_dasm(DASM_OPS_32);
290int arcompact_handle04_2f_29_dasm(DASM_OPS_32);
291int arcompact_handle04_2f_2a_dasm(DASM_OPS_32);
292int arcompact_handle04_2f_2b_dasm(DASM_OPS_32);
293int arcompact_handle04_2f_2c_dasm(DASM_OPS_32);
294int arcompact_handle04_2f_2d_dasm(DASM_OPS_32);
295int arcompact_handle04_2f_2e_dasm(DASM_OPS_32);
296int arcompact_handle04_2f_2f_dasm(DASM_OPS_32);
297int arcompact_handle04_2f_30_dasm(DASM_OPS_32);
298int arcompact_handle04_2f_31_dasm(DASM_OPS_32);
299int arcompact_handle04_2f_32_dasm(DASM_OPS_32);
300int arcompact_handle04_2f_33_dasm(DASM_OPS_32);
301int arcompact_handle04_2f_34_dasm(DASM_OPS_32);
302int arcompact_handle04_2f_35_dasm(DASM_OPS_32);
303int arcompact_handle04_2f_36_dasm(DASM_OPS_32);
304int arcompact_handle04_2f_37_dasm(DASM_OPS_32);
305int arcompact_handle04_2f_38_dasm(DASM_OPS_32);
306int arcompact_handle04_2f_39_dasm(DASM_OPS_32);
307int arcompact_handle04_2f_3a_dasm(DASM_OPS_32);
308int arcompact_handle04_2f_3b_dasm(DASM_OPS_32);
309int arcompact_handle04_2f_3c_dasm(DASM_OPS_32);
310int arcompact_handle04_2f_3d_dasm(DASM_OPS_32);
311int arcompact_handle04_2f_3e_dasm(DASM_OPS_32);
310312
311int arcompact_handle04_2f_3f_00_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_00> (%08x)", op); return 4;}
312int arcompact_handle04_2f_3f_06_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_06> (%08x)", op); return 4;}
313int arcompact_handle04_2f_3f_07_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_07> (%08x)", op); return 4;}
314int arcompact_handle04_2f_3f_08_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_08> (%08x)", op); return 4;}
315int arcompact_handle04_2f_3f_09_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_09> (%08x)", op); return 4;}
316int arcompact_handle04_2f_3f_0a_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_0a> (%08x)", op); return 4;}
317int arcompact_handle04_2f_3f_0b_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_0b> (%08x)", op); return 4;}
318int arcompact_handle04_2f_3f_0c_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_0c> (%08x)", op); return 4;}
319int arcompact_handle04_2f_3f_0d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_0d> (%08x)", op); return 4;}
320int arcompact_handle04_2f_3f_0e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_0e> (%08x)", op); return 4;}
321int arcompact_handle04_2f_3f_0f_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_0f> (%08x)", op); return 4;}
322int arcompact_handle04_2f_3f_10_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_10> (%08x)", op); return 4;}
323int arcompact_handle04_2f_3f_11_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_11> (%08x)", op); return 4;}
324int arcompact_handle04_2f_3f_12_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_12> (%08x)", op); return 4;}
325int arcompact_handle04_2f_3f_13_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_13> (%08x)", op); return 4;}
326int arcompact_handle04_2f_3f_14_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_14> (%08x)", op); return 4;}
327int arcompact_handle04_2f_3f_15_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_15> (%08x)", op); return 4;}
328int arcompact_handle04_2f_3f_16_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_16> (%08x)", op); return 4;}
329int arcompact_handle04_2f_3f_17_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_17> (%08x)", op); return 4;}
330int arcompact_handle04_2f_3f_18_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_18> (%08x)", op); return 4;}
331int arcompact_handle04_2f_3f_19_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_19> (%08x)", op); return 4;}
332int arcompact_handle04_2f_3f_1a_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_1a> (%08x)", op); return 4;}
333int arcompact_handle04_2f_3f_1b_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_1b> (%08x)", op); return 4;}
334int arcompact_handle04_2f_3f_1c_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_1c> (%08x)", op); return 4;}
335int arcompact_handle04_2f_3f_1d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_1d> (%08x)", op); return 4;}
336int arcompact_handle04_2f_3f_1e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_1e> (%08x)", op); return 4;}
337int arcompact_handle04_2f_3f_1f_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_1f> (%08x)", op); return 4;}
338int arcompact_handle04_2f_3f_20_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_20> (%08x)", op); return 4;}
339int arcompact_handle04_2f_3f_21_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_21> (%08x)", op); return 4;}
340int arcompact_handle04_2f_3f_22_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_22> (%08x)", op); return 4;}
341int arcompact_handle04_2f_3f_23_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_23> (%08x)", op); return 4;}
342int arcompact_handle04_2f_3f_24_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_24> (%08x)", op); return 4;}
343int arcompact_handle04_2f_3f_25_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_25> (%08x)", op); return 4;}
344int arcompact_handle04_2f_3f_26_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_26> (%08x)", op); return 4;}
345int arcompact_handle04_2f_3f_27_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_27> (%08x)", op); return 4;}
346int arcompact_handle04_2f_3f_28_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_28> (%08x)", op); return 4;}
347int arcompact_handle04_2f_3f_29_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_29> (%08x)", op); return 4;}
348int arcompact_handle04_2f_3f_2a_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_2a> (%08x)", op); return 4;}
349int arcompact_handle04_2f_3f_2b_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_2b> (%08x)", op); return 4;}
350int arcompact_handle04_2f_3f_2c_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_2c> (%08x)", op); return 4;}
351int arcompact_handle04_2f_3f_2d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_2d> (%08x)", op); return 4;}
352int arcompact_handle04_2f_3f_2e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_2e> (%08x)", op); return 4;}
353int arcompact_handle04_2f_3f_2f_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_2f> (%08x)", op); return 4;}
354int arcompact_handle04_2f_3f_30_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_30> (%08x)", op); return 4;}
355int arcompact_handle04_2f_3f_31_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_31> (%08x)", op); return 4;}
356int arcompact_handle04_2f_3f_32_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_32> (%08x)", op); return 4;}
357int arcompact_handle04_2f_3f_33_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_33> (%08x)", op); return 4;}
358int arcompact_handle04_2f_3f_34_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_34> (%08x)", op); return 4;}
359int arcompact_handle04_2f_3f_35_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_35> (%08x)", op); return 4;}
360int arcompact_handle04_2f_3f_36_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_36> (%08x)", op); return 4;}
361int arcompact_handle04_2f_3f_37_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_37> (%08x)", op); return 4;}
362int arcompact_handle04_2f_3f_38_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_38> (%08x)", op); return 4;}
363int arcompact_handle04_2f_3f_39_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_39> (%08x)", op); return 4;}
364int arcompact_handle04_2f_3f_3a_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_3a> (%08x)", op); return 4;}
365int arcompact_handle04_2f_3f_3b_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_3b> (%08x)", op); return 4;}
366int arcompact_handle04_2f_3f_3c_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_3c> (%08x)", op); return 4;}
367int arcompact_handle04_2f_3f_3d_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_3d> (%08x)", op); return 4;}
368int arcompact_handle04_2f_3f_3e_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_3e> (%08x)", op); return 4;}
369int arcompact_handle04_2f_3f_3f_dasm(DASM_OPS_32); //("<illegal 0x04_2f_3f_3f> (%08x)", op); return 4;}
313int arcompact_handle04_2f_3f_00_dasm(DASM_OPS_32);
314int arcompact_handle04_2f_3f_06_dasm(DASM_OPS_32);
315int arcompact_handle04_2f_3f_07_dasm(DASM_OPS_32);
316int arcompact_handle04_2f_3f_08_dasm(DASM_OPS_32);
317int arcompact_handle04_2f_3f_09_dasm(DASM_OPS_32);
318int arcompact_handle04_2f_3f_0a_dasm(DASM_OPS_32);
319int arcompact_handle04_2f_3f_0b_dasm(DASM_OPS_32);
320int arcompact_handle04_2f_3f_0c_dasm(DASM_OPS_32);
321int arcompact_handle04_2f_3f_0d_dasm(DASM_OPS_32);
322int arcompact_handle04_2f_3f_0e_dasm(DASM_OPS_32);
323int arcompact_handle04_2f_3f_0f_dasm(DASM_OPS_32);
324int arcompact_handle04_2f_3f_10_dasm(DASM_OPS_32);
325int arcompact_handle04_2f_3f_11_dasm(DASM_OPS_32);
326int arcompact_handle04_2f_3f_12_dasm(DASM_OPS_32);
327int arcompact_handle04_2f_3f_13_dasm(DASM_OPS_32);
328int arcompact_handle04_2f_3f_14_dasm(DASM_OPS_32);
329int arcompact_handle04_2f_3f_15_dasm(DASM_OPS_32);
330int arcompact_handle04_2f_3f_16_dasm(DASM_OPS_32);
331int arcompact_handle04_2f_3f_17_dasm(DASM_OPS_32);
332int arcompact_handle04_2f_3f_18_dasm(DASM_OPS_32);
333int arcompact_handle04_2f_3f_19_dasm(DASM_OPS_32);
334int arcompact_handle04_2f_3f_1a_dasm(DASM_OPS_32);
335int arcompact_handle04_2f_3f_1b_dasm(DASM_OPS_32);
336int arcompact_handle04_2f_3f_1c_dasm(DASM_OPS_32);
337int arcompact_handle04_2f_3f_1d_dasm(DASM_OPS_32);
338int arcompact_handle04_2f_3f_1e_dasm(DASM_OPS_32);
339int arcompact_handle04_2f_3f_1f_dasm(DASM_OPS_32);
340int arcompact_handle04_2f_3f_20_dasm(DASM_OPS_32);
341int arcompact_handle04_2f_3f_21_dasm(DASM_OPS_32);
342int arcompact_handle04_2f_3f_22_dasm(DASM_OPS_32);
343int arcompact_handle04_2f_3f_23_dasm(DASM_OPS_32);
344int arcompact_handle04_2f_3f_24_dasm(DASM_OPS_32);
345int arcompact_handle04_2f_3f_25_dasm(DASM_OPS_32);
346int arcompact_handle04_2f_3f_26_dasm(DASM_OPS_32);
347int arcompact_handle04_2f_3f_27_dasm(DASM_OPS_32);
348int arcompact_handle04_2f_3f_28_dasm(DASM_OPS_32);
349int arcompact_handle04_2f_3f_29_dasm(DASM_OPS_32);
350int arcompact_handle04_2f_3f_2a_dasm(DASM_OPS_32);
351int arcompact_handle04_2f_3f_2b_dasm(DASM_OPS_32);
352int arcompact_handle04_2f_3f_2c_dasm(DASM_OPS_32);
353int arcompact_handle04_2f_3f_2d_dasm(DASM_OPS_32);
354int arcompact_handle04_2f_3f_2e_dasm(DASM_OPS_32);
355int arcompact_handle04_2f_3f_2f_dasm(DASM_OPS_32);
356int arcompact_handle04_2f_3f_30_dasm(DASM_OPS_32);
357int arcompact_handle04_2f_3f_31_dasm(DASM_OPS_32);
358int arcompact_handle04_2f_3f_32_dasm(DASM_OPS_32);
359int arcompact_handle04_2f_3f_33_dasm(DASM_OPS_32);
360int arcompact_handle04_2f_3f_34_dasm(DASM_OPS_32);
361int arcompact_handle04_2f_3f_35_dasm(DASM_OPS_32);
362int arcompact_handle04_2f_3f_36_dasm(DASM_OPS_32);
363int arcompact_handle04_2f_3f_37_dasm(DASM_OPS_32);
364int arcompact_handle04_2f_3f_38_dasm(DASM_OPS_32);
365int arcompact_handle04_2f_3f_39_dasm(DASM_OPS_32);
366int arcompact_handle04_2f_3f_3a_dasm(DASM_OPS_32);
367int arcompact_handle04_2f_3f_3b_dasm(DASM_OPS_32);
368int arcompact_handle04_2f_3f_3c_dasm(DASM_OPS_32);
369int arcompact_handle04_2f_3f_3d_dasm(DASM_OPS_32);
370int arcompact_handle04_2f_3f_3e_dasm(DASM_OPS_32);
371int arcompact_handle04_2f_3f_3f_dasm(DASM_OPS_32);
370372
371373int arcompact_handle05_2f_00_dasm(DASM_OPS_32);
372374int arcompact_handle05_2f_01_dasm(DASM_OPS_32);
r242484r242485
431433int arcompact_handle05_2f_3c_dasm(DASM_OPS_32);
432434int arcompact_handle05_2f_3d_dasm(DASM_OPS_32);
433435int arcompact_handle05_2f_3e_dasm(DASM_OPS_32);
434//int arcompact_handle05_2f_3f_dasm(DASM_OPS_32);
435436
436437int arcompact_handle05_2f_3f_00_dasm(DASM_OPS_32);
437438int arcompact_handle05_2f_3f_01_dasm(DASM_OPS_32);
r242484r242485
499500int arcompact_handle05_2f_3f_3f_dasm(DASM_OPS_32);
500501
501502
502int arcompact_handle04_38_dasm(DASM_OPS_32); //("<illegal 0x04_38> (%08x)", op); return 4;}
503int arcompact_handle04_39_dasm(DASM_OPS_32); //("<illegal 0x04_39> (%08x)", op); return 4;}
504int arcompact_handle04_3a_dasm(DASM_OPS_32); //("<illegal 0x04_3a> (%08x)", op); return 4;}
505int arcompact_handle04_3b_dasm(DASM_OPS_32); //("<illegal 0x04_3b> (%08x)", op); return 4;}
506int arcompact_handle04_3c_dasm(DASM_OPS_32); //("<illegal 0x04_3c> (%08x)", op); return 4;}
507int arcompact_handle04_3d_dasm(DASM_OPS_32); //("<illegal 0x04_3d> (%08x)", op); return 4;}
508int arcompact_handle04_3e_dasm(DASM_OPS_32); //("<illegal 0x04_3e> (%08x)", op); return 4;}
509int arcompact_handle04_3f_dasm(DASM_OPS_32); //("<illegal 0x04_3f> (%08x)", op); return 4;}
503int arcompact_handle04_38_dasm(DASM_OPS_32);
504int arcompact_handle04_39_dasm(DASM_OPS_32);
505int arcompact_handle04_3a_dasm(DASM_OPS_32);
506int arcompact_handle04_3b_dasm(DASM_OPS_32);
507int arcompact_handle04_3c_dasm(DASM_OPS_32);
508int arcompact_handle04_3d_dasm(DASM_OPS_32);
509int arcompact_handle04_3e_dasm(DASM_OPS_32);
510int arcompact_handle04_3f_dasm(DASM_OPS_32);
510511
511int arcompact_handle05_09_dasm(DASM_OPS_32); //("<illegal 0x05_09> (%08x)", op); return 4;}
512int arcompact_handle05_0c_dasm(DASM_OPS_32); //("<illegal 0x05_0c> (%08x)", op); return 4;}
513int arcompact_handle05_0d_dasm(DASM_OPS_32); //("<illegal 0x05_0d> (%08x)", op); return 4;}
514int arcompact_handle05_0e_dasm(DASM_OPS_32); //("<illegal 0x05_0e> (%08x)", op); return 4;}
515int arcompact_handle05_0f_dasm(DASM_OPS_32); //("<illegal 0x05_0f> (%08x)", op); return 4;}
516int arcompact_handle05_10_dasm(DASM_OPS_32); //("<illegal 0x05_10> (%08x)", op); return 4;}
517int arcompact_handle05_11_dasm(DASM_OPS_32); //("<illegal 0x05_11> (%08x)", op); return 4;}
518int arcompact_handle05_12_dasm(DASM_OPS_32); //("<illegal 0x05_12> (%08x)", op); return 4;}
519int arcompact_handle05_13_dasm(DASM_OPS_32); //("<illegal 0x05_13> (%08x)", op); return 4;}
520int arcompact_handle05_14_dasm(DASM_OPS_32); //("<illegal 0x05_14> (%08x)", op); return 4;}
521int arcompact_handle05_15_dasm(DASM_OPS_32); //("<illegal 0x05_15> (%08x)", op); return 4;}
522int arcompact_handle05_16_dasm(DASM_OPS_32); //("<illegal 0x05_16> (%08x)", op); return 4;}
523int arcompact_handle05_17_dasm(DASM_OPS_32); //("<illegal 0x05_17> (%08x)", op); return 4;}
524int arcompact_handle05_18_dasm(DASM_OPS_32); //("<illegal 0x05_18> (%08x)", op); return 4;}
525int arcompact_handle05_19_dasm(DASM_OPS_32); //("<illegal 0x05_19> (%08x)", op); return 4;}
526int arcompact_handle05_1a_dasm(DASM_OPS_32); //("<illegal 0x05_1a> (%08x)", op); return 4;}
527int arcompact_handle05_1b_dasm(DASM_OPS_32); //("<illegal 0x05_1b> (%08x)", op); return 4;}
528int arcompact_handle05_1c_dasm(DASM_OPS_32); //("<illegal 0x05_1c> (%08x)", op); return 4;}
529int arcompact_handle05_1d_dasm(DASM_OPS_32); //("<illegal 0x05_1d> (%08x)", op); return 4;}
530int arcompact_handle05_1e_dasm(DASM_OPS_32); //("<illegal 0x05_1e> (%08x)", op); return 4;}
531int arcompact_handle05_1f_dasm(DASM_OPS_32); //("<illegal 0x05_1f> (%08x)", op); return 4;}
532int arcompact_handle05_20_dasm(DASM_OPS_32); //("<illegal 0x05_20> (%08x)", op); return 4;}
533int arcompact_handle05_21_dasm(DASM_OPS_32); //("<illegal 0x05_21> (%08x)", op); return 4;}
534int arcompact_handle05_22_dasm(DASM_OPS_32); //("<illegal 0x05_22> (%08x)", op); return 4;}
535int arcompact_handle05_23_dasm(DASM_OPS_32); //("<illegal 0x05_23> (%08x)", op); return 4;}
536int arcompact_handle05_24_dasm(DASM_OPS_32); //("<illegal 0x05_24> (%08x)", op); return 4;}
537int arcompact_handle05_25_dasm(DASM_OPS_32); //("<illegal 0x05_25> (%08x)", op); return 4;}
538int arcompact_handle05_26_dasm(DASM_OPS_32); //("<illegal 0x05_26> (%08x)", op); return 4;}
539int arcompact_handle05_27_dasm(DASM_OPS_32); //("<illegal 0x05_27> (%08x)", op); return 4;}
512int arcompact_handle05_09_dasm(DASM_OPS_32);
513int arcompact_handle05_0c_dasm(DASM_OPS_32);
514int arcompact_handle05_0d_dasm(DASM_OPS_32);
515int arcompact_handle05_0e_dasm(DASM_OPS_32);
516int arcompact_handle05_0f_dasm(DASM_OPS_32);
517int arcompact_handle05_10_dasm(DASM_OPS_32);
518int arcompact_handle05_11_dasm(DASM_OPS_32);
519int arcompact_handle05_12_dasm(DASM_OPS_32);
520int arcompact_handle05_13_dasm(DASM_OPS_32);
521int arcompact_handle05_14_dasm(DASM_OPS_32);
522int arcompact_handle05_15_dasm(DASM_OPS_32);
523int arcompact_handle05_16_dasm(DASM_OPS_32);
524int arcompact_handle05_17_dasm(DASM_OPS_32);
525int arcompact_handle05_18_dasm(DASM_OPS_32);
526int arcompact_handle05_19_dasm(DASM_OPS_32);
527int arcompact_handle05_1a_dasm(DASM_OPS_32);
528int arcompact_handle05_1b_dasm(DASM_OPS_32);
529int arcompact_handle05_1c_dasm(DASM_OPS_32);
530int arcompact_handle05_1d_dasm(DASM_OPS_32);
531int arcompact_handle05_1e_dasm(DASM_OPS_32);
532int arcompact_handle05_1f_dasm(DASM_OPS_32);
533int arcompact_handle05_20_dasm(DASM_OPS_32);
534int arcompact_handle05_21_dasm(DASM_OPS_32);
535int arcompact_handle05_22_dasm(DASM_OPS_32);
536int arcompact_handle05_23_dasm(DASM_OPS_32);
537int arcompact_handle05_24_dasm(DASM_OPS_32);
538int arcompact_handle05_25_dasm(DASM_OPS_32);
539int arcompact_handle05_26_dasm(DASM_OPS_32);
540int arcompact_handle05_27_dasm(DASM_OPS_32);
540541
541int arcompact_handle05_2a_dasm(DASM_OPS_32); //("<illegal 0x05_2a> (%08x)", op); return 4;}
542int arcompact_handle05_2b_dasm(DASM_OPS_32); //("<illegal 0x05_2b> (%08x)", op); return 4;}
543int arcompact_handle05_2c_dasm(DASM_OPS_32); //("<illegal 0x05_2c> (%08x)", op); return 4;}
544int arcompact_handle05_2d_dasm(DASM_OPS_32); //("<illegal 0x05_2d> (%08x)", op); return 4;}
545int arcompact_handle05_2e_dasm(DASM_OPS_32); //("<illegal 0x05_2e> (%08x)", op); return 4;}
542int arcompact_handle05_2a_dasm(DASM_OPS_32);
543int arcompact_handle05_2b_dasm(DASM_OPS_32);
544int arcompact_handle05_2c_dasm(DASM_OPS_32);
545int arcompact_handle05_2d_dasm(DASM_OPS_32);
546int arcompact_handle05_2e_dasm(DASM_OPS_32);
546547
547int arcompact_handle05_30_dasm(DASM_OPS_32); //("<illegal 0x05_30> (%08x)", op); return 4;}
548int arcompact_handle05_31_dasm(DASM_OPS_32); //("<illegal 0x05_31> (%08x)", op); return 4;}
549int arcompact_handle05_32_dasm(DASM_OPS_32); //("<illegal 0x05_32> (%08x)", op); return 4;}
550int arcompact_handle05_33_dasm(DASM_OPS_32); //("<illegal 0x05_33> (%08x)", op); return 4;}
551int arcompact_handle05_34_dasm(DASM_OPS_32); //("<illegal 0x05_34> (%08x)", op); return 4;}
552int arcompact_handle05_35_dasm(DASM_OPS_32); //("<illegal 0x05_35> (%08x)", op); return 4;}
553int arcompact_handle05_36_dasm(DASM_OPS_32); //("<illegal 0x05_36> (%08x)", op); return 4;}
554int arcompact_handle05_37_dasm(DASM_OPS_32); //("<illegal 0x05_37> (%08x)", op); return 4;}
555int arcompact_handle05_38_dasm(DASM_OPS_32); //("<illegal 0x05_38> (%08x)", op); return 4;}
556int arcompact_handle05_39_dasm(DASM_OPS_32); //("<illegal 0x05_39> (%08x)", op); return 4;}
557int arcompact_handle05_3a_dasm(DASM_OPS_32); //("<illegal 0x05_3a> (%08x)", op); return 4;}
558int arcompact_handle05_3b_dasm(DASM_OPS_32); //("<illegal 0x05_3b> (%08x)", op); return 4;}
559int arcompact_handle05_3c_dasm(DASM_OPS_32); //("<illegal 0x05_3c> (%08x)", op); return 4;}
560int arcompact_handle05_3d_dasm(DASM_OPS_32); //("<illegal 0x05_3d> (%08x)", op); return 4;}
561int arcompact_handle05_3e_dasm(DASM_OPS_32); //("<illegal 0x05_3e> (%08x)", op); return 4;}
562int arcompact_handle05_3f_dasm(DASM_OPS_32); //("<illegal 0x05_3f> (%08x)", op); return 4;}
548int arcompact_handle05_30_dasm(DASM_OPS_32);
549int arcompact_handle05_31_dasm(DASM_OPS_32);
550int arcompact_handle05_32_dasm(DASM_OPS_32);
551int arcompact_handle05_33_dasm(DASM_OPS_32);
552int arcompact_handle05_34_dasm(DASM_OPS_32);
553int arcompact_handle05_35_dasm(DASM_OPS_32);
554int arcompact_handle05_36_dasm(DASM_OPS_32);
555int arcompact_handle05_37_dasm(DASM_OPS_32);
556int arcompact_handle05_38_dasm(DASM_OPS_32);
557int arcompact_handle05_39_dasm(DASM_OPS_32);
558int arcompact_handle05_3a_dasm(DASM_OPS_32);
559int arcompact_handle05_3b_dasm(DASM_OPS_32);
560int arcompact_handle05_3c_dasm(DASM_OPS_32);
561int arcompact_handle05_3d_dasm(DASM_OPS_32);
562int arcompact_handle05_3e_dasm(DASM_OPS_32);
563int arcompact_handle05_3f_dasm(DASM_OPS_32);
563564
564int arcompact_handle0f_00_04_dasm(DASM_OPS_16); //("<illegal 0x0f_00_00> (%08x)", op); return 2;}
565int arcompact_handle0f_00_05_dasm(DASM_OPS_16); //("<illegal 0x0f_00_00> (%08x)", op); return 2;}
566int arcompact_handle0f_00_07_02_dasm(DASM_OPS_16); //("<illegal 0x0f_00_07_02> (%08x)", op); return 2;}
567int arcompact_handle0f_00_07_03_dasm(DASM_OPS_16); //("<illegal 0x0f_00_07_03> (%08x)", op); return 2;}
568int arcompact_handle0f_01_dasm(DASM_OPS_16); //("<illegal 0x0f_01> (%08x)", op); return 2;}
569int arcompact_handle0f_03_dasm(DASM_OPS_16); //("<illegal 0x0f_03> (%08x)", op); return 2;}
570int arcompact_handle0f_08_dasm(DASM_OPS_16); //("<illegal 0x0f_08> (%08x)", op); return 2;}
571int arcompact_handle0f_09_dasm(DASM_OPS_16); //("<illegal 0x0f_09> (%08x)", op); return 2;}
572int arcompact_handle0f_0a_dasm(DASM_OPS_16); //("<illegal 0x0f_0a> (%08x)", op); return 2;}
573int arcompact_handle0f_17_dasm(DASM_OPS_16); //("<illegal 0x0f_17> (%08x)", op); return 2;}
565int arcompact_handle0f_00_04_dasm(DASM_OPS_16);
566int arcompact_handle0f_00_05_dasm(DASM_OPS_16);
567int arcompact_handle0f_00_07_02_dasm(DASM_OPS_16);
568int arcompact_handle0f_00_07_03_dasm(DASM_OPS_16);
569int arcompact_handle0f_01_dasm(DASM_OPS_16);
570int arcompact_handle0f_03_dasm(DASM_OPS_16);
571int arcompact_handle0f_08_dasm(DASM_OPS_16);
572int arcompact_handle0f_09_dasm(DASM_OPS_16);
573int arcompact_handle0f_0a_dasm(DASM_OPS_16);
574int arcompact_handle0f_17_dasm(DASM_OPS_16);
574575
575int arcompact_handle18_05_02_dasm(DASM_OPS_16); //("<illegal 0x18_05_02> (%04x)", op); return 2;}
576int arcompact_handle18_05_03_dasm(DASM_OPS_16); //("<illegal 0x18_05_03> (%04x)", op); return 2;}
577int arcompact_handle18_05_04_dasm(DASM_OPS_16); //("<illegal 0x18_05_04> (%04x)", op); return 2;}
578int arcompact_handle18_05_05_dasm(DASM_OPS_16); //("<illegal 0x18_05_05> (%04x)", op); return 2;}
579int arcompact_handle18_05_06_dasm(DASM_OPS_16); //("<illegal 0x18_05_06> (%04x)", op); return 2;}
580int arcompact_handle18_05_07_dasm(DASM_OPS_16); //("<illegal 0x18_05_07> (%04x)", op); return 2;}
581int arcompact_handle18_06_00_dasm(DASM_OPS_16); //("<illegal 0x18_06_00> (%04x)",  op); return 2;}
582int arcompact_handle18_06_02_dasm(DASM_OPS_16); //("<illegal 0x18_06_02> (%04x)", op); return 2;}
583int arcompact_handle18_06_03_dasm(DASM_OPS_16); //("<illegal 0x18_06_03> (%04x)", op); return 2;}
584int arcompact_handle18_06_04_dasm(DASM_OPS_16); //("<illegal 0x18_06_04> (%04x)", op); return 2;}
585int arcompact_handle18_06_05_dasm(DASM_OPS_16); //("<illegal 0x18_06_05> (%04x)", op); return 2;}
586int arcompact_handle18_06_06_dasm(DASM_OPS_16); //("<illegal 0x18_06_06> (%04x)", op); return 2;}
587int arcompact_handle18_06_07_dasm(DASM_OPS_16); //("<illegal 0x18_06_07> (%04x)", op); return 2;}
588int arcompact_handle18_06_08_dasm(DASM_OPS_16); //("<illegal 0x18_06_08> (%04x)", op); return 2;}
589int arcompact_handle18_06_09_dasm(DASM_OPS_16); //("<illegal 0x18_06_09> (%04x)", op); return 2;}
590int arcompact_handle18_06_0a_dasm(DASM_OPS_16); //("<illegal 0x18_06_0a> (%04x)", op); return 2;}
591int arcompact_handle18_06_0b_dasm(DASM_OPS_16); //("<illegal 0x18_06_0b> (%04x)", op); return 2;}
592int arcompact_handle18_06_0c_dasm(DASM_OPS_16); //("<illegal 0x18_06_0c> (%04x)", op); return 2;}
593int arcompact_handle18_06_0d_dasm(DASM_OPS_16); //("<illegal 0x18_06_0d> (%04x)", op); return 2;}
594int arcompact_handle18_06_0e_dasm(DASM_OPS_16); //("<illegal 0x18_06_0e> (%04x)", op); return 2;}
595int arcompact_handle18_06_0f_dasm(DASM_OPS_16); //("<illegal 0x18_06_0f> (%04x)", op); return 2;}
596int arcompact_handle18_06_10_dasm(DASM_OPS_16); //("<illegal 0x18_06_10> (%04x)", op); return 2;}
597int arcompact_handle18_06_12_dasm(DASM_OPS_16); //("<illegal 0x18_06_12> (%04x)",  op); return 2;}
598int arcompact_handle18_06_13_dasm(DASM_OPS_16); //("<illegal 0x18_06_13> (%04x)",  op); return 2;}
599int arcompact_handle18_06_14_dasm(DASM_OPS_16); //("<illegal 0x18_06_14> (%04x)",  op); return 2;}
600int arcompact_handle18_06_15_dasm(DASM_OPS_16); //("<illegal 0x18_06_15> (%04x)",  op); return 2;}
601int arcompact_handle18_06_16_dasm(DASM_OPS_16); //("<illegal 0x18_06_16> (%04x)",  op); return 2;}
602int arcompact_handle18_06_17_dasm(DASM_OPS_16); //("<illegal 0x18_06_17> (%04x)",  op); return 2;}
603int arcompact_handle18_06_18_dasm(DASM_OPS_16); //("<illegal 0x18_06_18> (%04x)",  op); return 2;}
604int arcompact_handle18_06_19_dasm(DASM_OPS_16); //("<illegal 0x18_06_19> (%04x)",  op); return 2;}
605int arcompact_handle18_06_1a_dasm(DASM_OPS_16); //("<illegal 0x18_06_1a> (%04x)",  op); return 2;}
606int arcompact_handle18_06_1b_dasm(DASM_OPS_16); //("<illegal 0x18_06_1b> (%04x)",  op); return 2;}
607int arcompact_handle18_06_1c_dasm(DASM_OPS_16); //("<illegal 0x18_06_1c> (%04x)",  op); return 2;}
608int arcompact_handle18_06_1d_dasm(DASM_OPS_16); //("<illegal 0x18_06_1d> (%04x)",  op); return 2;}
609int arcompact_handle18_06_1e_dasm(DASM_OPS_16); //("<illegal 0x18_06_1e> (%04x)",  op); return 2;}
610int arcompact_handle18_06_1f_dasm(DASM_OPS_16); //("<illegal 0x18_06_1f> (%04x)",  op); return 2;}
611int arcompact_handle18_07_00_dasm(DASM_OPS_16); //("<illegal 0x18_07_00> (%04x)",  op); return 2;}
612int arcompact_handle18_07_02_dasm(DASM_OPS_16); //("<illegal 0x18_07_02> (%04x)", op); return 2;}
613int arcompact_handle18_07_03_dasm(DASM_OPS_16); //("<illegal 0x18_07_03> (%04x)", op); return 2;}
614int arcompact_handle18_07_04_dasm(DASM_OPS_16); //("<illegal 0x18_07_04> (%04x)", op); return 2;}
615int arcompact_handle18_07_05_dasm(DASM_OPS_16); //("<illegal 0x18_07_05> (%04x)", op); return 2;}
616int arcompact_handle18_07_06_dasm(DASM_OPS_16); //("<illegal 0x18_07_06> (%04x)", op); return 2;}
617int arcompact_handle18_07_07_dasm(DASM_OPS_16); //("<illegal 0x18_07_07> (%04x)", op); return 2;}
618int arcompact_handle18_07_08_dasm(DASM_OPS_16); //("<illegal 0x18_07_08> (%04x)", op); return 2;}
619int arcompact_handle18_07_09_dasm(DASM_OPS_16); //("<illegal 0x18_07_09> (%04x)", op); return 2;}
620int arcompact_handle18_07_0a_dasm(DASM_OPS_16); //("<illegal 0x18_07_0a> (%04x)", op); return 2;}
621int arcompact_handle18_07_0b_dasm(DASM_OPS_16); //("<illegal 0x18_07_0b> (%04x)", op); return 2;}
622int arcompact_handle18_07_0c_dasm(DASM_OPS_16); //("<illegal 0x18_07_0c> (%04x)", op); return 2;}
623int arcompact_handle18_07_0d_dasm(DASM_OPS_16); //("<illegal 0x18_07_0d> (%04x)", op); return 2;}
624int arcompact_handle18_07_0e_dasm(DASM_OPS_16); //("<illegal 0x18_07_0e> (%04x)", op); return 2;}
625int arcompact_handle18_07_0f_dasm(DASM_OPS_16); //("<illegal 0x18_07_0f> (%04x)", op); return 2;}
626int arcompact_handle18_07_10_dasm(DASM_OPS_16); //("<illegal 0x18_07_10> (%04x)", op); return 2;}
627int arcompact_handle18_07_12_dasm(DASM_OPS_16); //("<illegal 0x18_07_12> (%04x)",  op); return 2;}
628int arcompact_handle18_07_13_dasm(DASM_OPS_16); //("<illegal 0x18_07_13> (%04x)",  op); return 2;}
629int arcompact_handle18_07_14_dasm(DASM_OPS_16); //("<illegal 0x18_07_14> (%04x)",  op); return 2;}
630int arcompact_handle18_07_15_dasm(DASM_OPS_16); //("<illegal 0x18_07_15> (%04x)",  op); return 2;}
631int arcompact_handle18_07_16_dasm(DASM_OPS_16); //("<illegal 0x18_07_16> (%04x)",  op); return 2;}
632int arcompact_handle18_07_17_dasm(DASM_OPS_16); //("<illegal 0x18_07_17> (%04x)",  op); return 2;}
633int arcompact_handle18_07_18_dasm(DASM_OPS_16); //("<illegal 0x18_07_18> (%04x)",  op); return 2;}
634int arcompact_handle18_07_19_dasm(DASM_OPS_16); //("<illegal 0x18_07_19> (%04x)",  op); return 2;}
635int arcompact_handle18_07_1a_dasm(DASM_OPS_16); //("<illegal 0x18_07_1a> (%04x)",  op); return 2;}
636int arcompact_handle18_07_1b_dasm(DASM_OPS_16); //("<illegal 0x18_07_1b> (%04x)",  op); return 2;}
637int arcompact_handle18_07_1c_dasm(DASM_OPS_16); //("<illegal 0x18_07_1c> (%04x)",  op); return 2;}
638int arcompact_handle18_07_1d_dasm(DASM_OPS_16); //("<illegal 0x18_07_1d> (%04x)",  op); return 2;}
639int arcompact_handle18_07_1e_dasm(DASM_OPS_16); //("<illegal 0x18_07_1e> (%04x)",  op); return 2;}
640int arcompact_handle18_07_1f_dasm(DASM_OPS_16); //("<illegal 0x18_07_1f> (%04x)",  op); return 2;}
641
576int arcompact_handle18_05_02_dasm(DASM_OPS_16);
577int arcompact_handle18_05_03_dasm(DASM_OPS_16);
578int arcompact_handle18_05_04_dasm(DASM_OPS_16);
579int arcompact_handle18_05_05_dasm(DASM_OPS_16);
580int arcompact_handle18_05_06_dasm(DASM_OPS_16);
581int arcompact_handle18_05_07_dasm(DASM_OPS_16);
582int arcompact_handle18_06_00_dasm(DASM_OPS_16);
583int arcompact_handle18_06_02_dasm(DASM_OPS_16);
584int arcompact_handle18_06_03_dasm(DASM_OPS_16);
585int arcompact_handle18_06_04_dasm(DASM_OPS_16);
586int arcompact_handle18_06_05_dasm(DASM_OPS_16);
587int arcompact_handle18_06_06_dasm(DASM_OPS_16);
588int arcompact_handle18_06_07_dasm(DASM_OPS_16);
589int arcompact_handle18_06_08_dasm(DASM_OPS_16);
590int arcompact_handle18_06_09_dasm(DASM_OPS_16);
591int arcompact_handle18_06_0a_dasm(DASM_OPS_16);
592int arcompact_handle18_06_0b_dasm(DASM_OPS_16);
593int arcompact_handle18_06_0c_dasm(DASM_OPS_16);
594int arcompact_handle18_06_0d_dasm(DASM_OPS_16);
595int arcompact_handle18_06_0e_dasm(DASM_OPS_16);
596int arcompact_handle18_06_0f_dasm(DASM_OPS_16);
597int arcompact_handle18_06_10_dasm(DASM_OPS_16);
598int arcompact_handle18_06_12_dasm(DASM_OPS_16);
599int arcompact_handle18_06_13_dasm(DASM_OPS_16);
600int arcompact_handle18_06_14_dasm(DASM_OPS_16);
601int arcompact_handle18_06_15_dasm(DASM_OPS_16);
602int arcompact_handle18_06_16_dasm(DASM_OPS_16);
603int arcompact_handle18_06_17_dasm(DASM_OPS_16);
604int arcompact_handle18_06_18_dasm(DASM_OPS_16);
605int arcompact_handle18_06_19_dasm(DASM_OPS_16);
606int arcompact_handle18_06_1a_dasm(DASM_OPS_16);
607int arcompact_handle18_06_1b_dasm(DASM_OPS_16);
608int arcompact_handle18_06_1c_dasm(DASM_OPS_16);
609int arcompact_handle18_06_1d_dasm(DASM_OPS_16);
610int arcompact_handle18_06_1e_dasm(DASM_OPS_16);
611int arcompact_handle18_06_1f_dasm(DASM_OPS_16);
612int arcompact_handle18_07_00_dasm(DASM_OPS_16);
613int arcompact_handle18_07_02_dasm(DASM_OPS_16);
614int arcompact_handle18_07_03_dasm(DASM_OPS_16);
615int arcompact_handle18_07_04_dasm(DASM_OPS_16);
616int arcompact_handle18_07_05_dasm(DASM_OPS_16);
617int arcompact_handle18_07_06_dasm(DASM_OPS_16);
618int arcompact_handle18_07_07_dasm(DASM_OPS_16);
619int arcompact_handle18_07_08_dasm(DASM_OPS_16);
620int arcompact_handle18_07_09_dasm(DASM_OPS_16);
621int arcompact_handle18_07_0a_dasm(DASM_OPS_16);
622int arcompact_handle18_07_0b_dasm(DASM_OPS_16);
623int arcompact_handle18_07_0c_dasm(DASM_OPS_16);
624int arcompact_handle18_07_0d_dasm(DASM_OPS_16);
625int arcompact_handle18_07_0e_dasm(DASM_OPS_16);
626int arcompact_handle18_07_0f_dasm(DASM_OPS_16);
627int arcompact_handle18_07_10_dasm(DASM_OPS_16);
628int arcompact_handle18_07_12_dasm(DASM_OPS_16);
629int arcompact_handle18_07_13_dasm(DASM_OPS_16);
630int arcompact_handle18_07_14_dasm(DASM_OPS_16);
631int arcompact_handle18_07_15_dasm(DASM_OPS_16);
632int arcompact_handle18_07_16_dasm(DASM_OPS_16);
633int arcompact_handle18_07_17_dasm(DASM_OPS_16);
634int arcompact_handle18_07_18_dasm(DASM_OPS_16);
635int arcompact_handle18_07_19_dasm(DASM_OPS_16);
636int arcompact_handle18_07_1a_dasm(DASM_OPS_16);
637int arcompact_handle18_07_1b_dasm(DASM_OPS_16);
638int arcompact_handle18_07_1c_dasm(DASM_OPS_16);
639int arcompact_handle18_07_1d_dasm(DASM_OPS_16);
640int arcompact_handle18_07_1e_dasm(DASM_OPS_16);
641int arcompact_handle18_07_1f_dasm(DASM_OPS_16);
trunk/src/emu/cpu/cpu.mak
r242484r242485
101101ifneq ($(filter ARCOMPACT,$(CPUS)),)
102102OBJDIRS += $(CPUOBJ)/arcompact
103103CPUOBJS += $(CPUOBJ)/arcompact/arcompact.o
104DASMOBJS += $(CPUOBJ)/arcompact/arcompactdasm.o $(CPUOBJ)/arcompact/arcompactdasm_dispatch.o $(CPUOBJ)/arcompact/arcompactdasm_ops.o
104DASMOBJS += $(CPUOBJ)/arcompact/arcompactdasm.o $(CPUOBJ)/arcompact/arcompactdasm_dispatch.o $(CPUOBJ)/arcompact/arcompactdasm_ops.o $(CPUOBJ)/arcompact/arcompact_execute.o $(CPUOBJ)/arcompact/arcompact_common.o
105105endif
106106
107107$(CPUOBJ)/arcompact/arcompact.o:  $(CPUSRC)/arcompact/arcompact.c \
108         $(CPUSRC)/arcompact/arcompact.h
108         $(CPUSRC)/arcompact/arcompact.h \
109         $(CPUSRC)/arcompact/arcompact_common.h
109110
111$(CPUOBJ)/arcompact/arcompact_execute.o:  $(CPUSRC)/arcompact/arcompact_execute.c \
112         $(CPUSRC)/arcompact/arcompact.h \
113         $(CPUSRC)/arcompact/arcompact_common.h
114
115$(CPUOBJ)/arcompact/arcompactdasm_dispatch.o:  $(CPUSRC)/arcompact/arcompactdasm_dispatch.c \
116         $(CPUSRC)/arcompact/arcompactdasm_dispatch.h \
117         $(CPUSRC)/arcompact/arcompact_common.h
118
119$(CPUOBJ)/arcompact/arcompactdasm_ops.o:  $(CPUSRC)/arcompact/arcompactdasm_ops.c \
120         $(CPUSRC)/arcompact/arcompactdasm_ops.h \
121         $(CPUSRC)/arcompact/arcompact_common.h
122
123$(CPUOBJ)/arcompact/arcompact_common.o:  $(CPUSRC)/arcompact/arcompact_common.c \
124         $(CPUSRC)/arcompact/arcompact_common.h
125
126
110127#-------------------------------------------------
111128# Acorn ARM series
112129#


Previous 199869 Revisions Next


© 1997-2024 The MAME Team