|
|
1.1 root 1: // generated by gencycles.php
2: #ifndef M680X0_CYCLE_HEADER
3: #define M680X0_CYCLE_HEADER
4: static constexpr int cycidx_fpu_src_dn = 0;
5: static constexpr int cycidx_cas2_true_inc = 1;
6: static constexpr int cycidx_move_ea_dn = 2;
7: static constexpr int cycidx_fea_absw = 3;
8: static constexpr int cycidx_adda_l = 4;
9: static constexpr int cycidx_nop = 5;
10: static constexpr int cycidx_trapcc_w_inc = 6;
11: static constexpr int cycidx_cea_anix_bd2 = 7;
12: static constexpr int cycidx_move_ea_anix = 8;
13: static constexpr int cycidx_fea_anin = 9;
14: static constexpr int cycidx_add_dn_ea = 10;
15: static constexpr int cycidx_fea_anpd = 11;
16: static constexpr int cycidx_move_ccr_dn = 12;
17: static constexpr int cycidx_move_sr_dn = 13;
18: static constexpr int cycidx_trapcc = 14;
19: static constexpr int cycidx_cea_anix_brief = 15;
20: static constexpr int cycidx_move_an_usp = 16;
21: static constexpr int cycidx_fea_absl = 17;
22: static constexpr int cycidx_move_ccr_ea = 18;
23: static constexpr int cycidx_move_sr_ea = 19;
24: static constexpr int cycidx_jmp = 20;
25: static constexpr int cycidx_jsr = 21;
26: static constexpr int cycidx_scc_ea = 22;
27: static constexpr int cycidx_moves_rn_ea = 23;
28: static constexpr int cycidx_cea_anix_bd4 = 24;
29: static constexpr int cycidx_cea_fpu_anpi = 25;
30: static constexpr int cycidx_pack_dn = 26;
31: static constexpr int cycidx_bchg_dn = 27;
32: static constexpr int cycidx_cea_anix_direct = 28;
33: static constexpr int cycidx_movec_rc_rn = 29;
34: static constexpr int cycidx_move_ea_absl = 30;
35: static constexpr int cycidx_link_l = 31;
36: static constexpr int cycidx_bra = 32;
37: static constexpr int cycidx_dbcc_jmp = 33;
38: static constexpr int cycidx_dbcc_nop = 34;
39: static constexpr int cycidx_bsr = 35;
40: static constexpr int cycidx_moves_ea_dn = 36;
41: static constexpr int cycidx_moves_ea_an = 37;
42: static constexpr int cycidx_movem_ea_list = 38;
43: static constexpr int cycidx_unpk_dn = 39;
44: static constexpr int cycidx_chk = 40;
45: static constexpr int cycidx_move_ea_sr = 41;
46: static constexpr int cycidx_bkpt = 42;
47: static constexpr int cycidx_addx_an = 43;
48: static constexpr int cycidx_rts = 44;
49: static constexpr int cycidx_asr_dn_dn_over = 45;
50: static constexpr int cycidx_bfext_dn = 46;
51: static constexpr int cycidx_cea_anix_indir = 47;
52: static constexpr int cycidx_rtd = 48;
53: static constexpr int cycidx_dbcc_done = 49;
54: static constexpr int cycidx_pack_an = 50;
55: static constexpr int cycidx_unpk_an = 51;
56: static constexpr int cycidx_cas_ne = 52;
57: static constexpr int cycidx_roxd_dn = 53;
58: static constexpr int cycidx_bfins_dn = 54;
59: static constexpr int cycidx_movec_rn_rcb = 55;
60: static constexpr int cycidx_bfext_ea_less = 56;
61: static constexpr int cycidx_tas_ea = 57;
62: static constexpr int cycidx_cea_anix_indir_od = 58;
63: static constexpr int cycidx_andi_ccr = 59;
64: static constexpr int cycidx_rtr = 60;
65: static constexpr int cycidx_andi_sr = 61;
66: static constexpr int cycidx_pflusha = 62;
67: static constexpr int cycidx_cas_eq = 63;
68: static constexpr int cycidx_abcd_an = 64;
69: static constexpr int cycidx_bfchg_dn = 65;
70: static constexpr int cycidx_bfchg_ea_less = 66;
71: static constexpr int cycidx_movep = 67;
72: static constexpr int cycidx_bftst_ea_over = 68;
73: static constexpr int cycidx_fsave_null = 69;
74: static constexpr int cycidx_chk2 = 70;
75: static constexpr int cycidx_bfext_ea_over = 71;
76: static constexpr int cycidx_fbccw_nop = 72;
77: static constexpr int cycidx_rte_frame0 = 73;
78: static constexpr int cycidx_rte_frame2 = 74;
79: static constexpr int cycidx_trap = 75;
80: static constexpr int cycidx_fscc_dn = 76;
81: static constexpr int cycidx_ftrapcc_nop = 77;
82: static constexpr int cycidx_bfffo_dn = 78;
83: static constexpr int cycidx_cmp2_max = 79;
84: static constexpr int cycidx_pflush = 80;
85: static constexpr int cycidx_fscc_mem = 81;
86: static constexpr int cycidx_fbcc_jump = 82;
87: static constexpr int cycidx_fdbcc_true = 83;
88: static constexpr int cycidx_fdbcc_jump = 84;
89: static constexpr int cycidx_frestore_null = 85;
90: static constexpr int cycidx_fscc_anp_z = 86;
91: static constexpr int cycidx_bfffo_ea_less = 87;
92: static constexpr int cycidx_bfchg_ea_over = 88;
93: static constexpr int cycidx_trapcc_excep = 89;
94: static constexpr int cycidx_fscc_anp_nz = 90;
95: static constexpr int cycidx_ftrapccl_nop = 91;
96: static constexpr int cycidx_fmovem_ea2reg_n = 92;
97: static constexpr int cycidx_cas2_max = 93;
98: static constexpr int cycidx_fdbcc_done = 94;
99: static constexpr int cycidx_fmovem_reg2ea_n = 95;
100: static constexpr int cycidx_fmovem_imm_ctl = 96;
101: static constexpr int cycidx_fmovem_ctl_mem = 97;
102: static constexpr int cycidx_mulu_w_max = 98;
103: static constexpr int cycidx_muls_w_max = 99;
104: static constexpr int cycidx_bfffo_ea_over = 100;
105: static constexpr int cycidx_fmovem_mem_ctl = 101;
106: static constexpr int cycidx_chk_excep_max = 102;
107: static constexpr int cycidx_fmovem_rn_ctl = 103;
108: static constexpr int cycidx_fmovem_ctl_rn = 104;
109: static constexpr int cycidx_fcmp = 105;
110: static constexpr int cycidx_fmove = 106;
111: static constexpr int cycidx_fabs = 107;
112: static constexpr int cycidx_fmovem_ea2reg_sta = 108;
113: static constexpr int cycidx_fmovem_reg2ea_sta = 109;
114: static constexpr int cycidx_pmove_ea_tc = 110;
115: static constexpr int cycidx_ftrapcc_excep = 111;
116: static constexpr int cycidx_chk2_excep_max = 112;
117: static constexpr int cycidx_ftrapccw_excep = 113;
118: static constexpr int cycidx_ftrapccl_excep = 114;
119: static constexpr int cycidx_muls_l_max = 115;
120: static constexpr int cycidx_divu_w_max = 116;
121: static constexpr int cycidx_fmovem_ea2reg_dyn = 117;
122: static constexpr int cycidx_fadd = 118;
123: static constexpr int cycidx_fmovem_reg2ea_dyn = 119;
124: static constexpr int cycidx_fsave_idle = 120;
125: static constexpr int cycidx_divs_w_max = 121;
126: static constexpr int cycidx_frestore_idle = 122;
127: static constexpr int cycidx_fsglmul = 123;
128: static constexpr int cycidx_busfault = 124;
129: static constexpr int cycidx_fsgldiv = 125;
130: static constexpr int cycidx_fmul = 126;
131: static constexpr int cycidx_fmove_x_fp_ea = 127;
132: static constexpr int cycidx_fmove_s_fp_dn = 128;
133: static constexpr int cycidx_divu_l_max = 129;
134: static constexpr int cycidx_fmove_s_fp_mem = 130;
135: static constexpr int cycidx_fmove_d_fp_ea = 131;
136: static constexpr int cycidx_divs_l_max = 132;
137: static constexpr int cycidx_fmove_i_fp_dn = 133;
138: static constexpr int cycidx_fmove_i_fp_mem = 134;
139: static constexpr int cycidx_fdiv = 135;
140: static constexpr int cycidx_fsqrt = 136;
141:
142: static constexpr int cycidx_fea_anpi = cycidx_fea_anin;
143: static constexpr int cycidx_fea_andi = cycidx_fea_anpd;
144: static constexpr int cycidx_fea_immw = cycidx_fea_absw;
145: static constexpr int cycidx_fea_imml = cycidx_fea_anpd;
146: static constexpr int cycidx_cea_anin = cycidx_fea_absw;
147: static constexpr int cycidx_cea_anpi = cycidx_fea_absw;
148: static constexpr int cycidx_cea_anpd = cycidx_fea_absw;
149: static constexpr int cycidx_cea_andi = cycidx_fea_absw;
150: static constexpr int cycidx_cea_absw = cycidx_fea_absw;
151: static constexpr int cycidx_cea_absl = cycidx_fea_anpd;
152: static constexpr int cycidx_movea_w = cycidx_fea_absw;
153: static constexpr int cycidx_movea_l = cycidx_move_ea_dn;
154: static constexpr int cycidx_move_ea_anin = cycidx_fea_absl;
155: static constexpr int cycidx_move_ea_anpi = cycidx_fea_absl;
156: static constexpr int cycidx_move_ea_anpd = cycidx_fea_absl;
157: static constexpr int cycidx_move_ea_andi = cycidx_fea_absl;
158: static constexpr int cycidx_move_ea_absw = cycidx_fea_absl;
159: static constexpr int cycidx_exg = cycidx_fea_anpd;
160: static constexpr int cycidx_movec_rn_rca = cycidx_cea_anix_direct;
161: static constexpr int cycidx_move_dn_ccr = cycidx_move_ccr_dn;
162: static constexpr int cycidx_move_ea_ccr = cycidx_move_ccr_dn;
163: static constexpr int cycidx_movem_ea_list_n = cycidx_fea_anpd;
164: static constexpr int cycidx_movem_list_ea = cycidx_move_ccr_dn;
165: static constexpr int cycidx_movem_list_ea_n = cycidx_fea_absw;
166: static constexpr int cycidx_move_usp_an = cycidx_move_sr_dn;
167: static constexpr int cycidx_swap = cycidx_move_ccr_dn;
168: static constexpr int cycidx_add_ea_dn = cycidx_fea_absw;
169: static constexpr int cycidx_adda_w = cycidx_move_ccr_dn;
170: static constexpr int cycidx_and_ea_dn = cycidx_fea_absw;
171: static constexpr int cycidx_and_dn_ea = cycidx_add_dn_ea;
172: static constexpr int cycidx_eor_dn_dn = cycidx_fea_absw;
173: static constexpr int cycidx_eor_dn_ea = cycidx_add_dn_ea;
174: static constexpr int cycidx_or_ea_dn = cycidx_fea_absw;
175: static constexpr int cycidx_or_dn_ea = cycidx_add_dn_ea;
176: static constexpr int cycidx_sub_ea_dn = cycidx_fea_absw;
177: static constexpr int cycidx_sub_dn_ea = cycidx_add_dn_ea;
178: static constexpr int cycidx_suba_w = cycidx_move_ccr_dn;
179: static constexpr int cycidx_suba_l = cycidx_adda_l;
180: static constexpr int cycidx_cmp = cycidx_fea_absw;
181: static constexpr int cycidx_cmpa = cycidx_fea_anpd;
182: static constexpr int cycidx_mulu_l_max = cycidx_muls_l_max;
183: static constexpr int cycidx_moveq = cycidx_fea_absw;
184: static constexpr int cycidx_addq_rn = cycidx_fea_absw;
185: static constexpr int cycidx_addq_ea = cycidx_add_dn_ea;
186: static constexpr int cycidx_subq_rn = cycidx_fea_absw;
187: static constexpr int cycidx_subq_ea = cycidx_add_dn_ea;
188: static constexpr int cycidx_addi_dn = cycidx_fea_absw;
189: static constexpr int cycidx_addi_ea = cycidx_add_dn_ea;
190: static constexpr int cycidx_andi_dn = cycidx_fea_absw;
191: static constexpr int cycidx_andi_ea = cycidx_add_dn_ea;
192: static constexpr int cycidx_eori_dn = cycidx_fea_absw;
193: static constexpr int cycidx_eori_ea = cycidx_add_dn_ea;
194: static constexpr int cycidx_ori_dn = cycidx_fea_absw;
195: static constexpr int cycidx_ori_ea = cycidx_add_dn_ea;
196: static constexpr int cycidx_subi_dn = cycidx_fea_absw;
197: static constexpr int cycidx_subi_ea = cycidx_add_dn_ea;
198: static constexpr int cycidx_cmpi = cycidx_fea_absw;
199: static constexpr int cycidx_abcd_dn = cycidx_move_sr_dn;
200: static constexpr int cycidx_sbcd_dn = cycidx_move_sr_dn;
201: static constexpr int cycidx_sbcd_an = cycidx_abcd_an;
202: static constexpr int cycidx_addx_dn = cycidx_fea_absw;
203: static constexpr int cycidx_subx_dn = cycidx_fea_absw;
204: static constexpr int cycidx_subx_an = cycidx_addx_an;
205: static constexpr int cycidx_cmpm = cycidx_movem_ea_list;
206: static constexpr int cycidx_clr_dn = cycidx_fea_absw;
207: static constexpr int cycidx_clr_ea = cycidx_add_dn_ea;
208: static constexpr int cycidx_neg_dn = cycidx_fea_absw;
209: static constexpr int cycidx_neg_ea = cycidx_add_dn_ea;
210: static constexpr int cycidx_negx_dn = cycidx_fea_absw;
211: static constexpr int cycidx_negx_ea = cycidx_add_dn_ea;
212: static constexpr int cycidx_not_dn = cycidx_fea_absw;
213: static constexpr int cycidx_not_ea = cycidx_add_dn_ea;
214: static constexpr int cycidx_ext = cycidx_move_ccr_dn;
215: static constexpr int cycidx_extb = cycidx_fea_anpd;
216: static constexpr int cycidx_nbcd = cycidx_pack_dn;
217: static constexpr int cycidx_scc_dn = cycidx_move_ccr_dn;
218: static constexpr int cycidx_tas_dn = cycidx_move_ccr_dn;
219: static constexpr int cycidx_tst = cycidx_fea_absw;
220: static constexpr int cycidx_lsd_imm_dn = cycidx_move_ccr_dn;
221: static constexpr int cycidx_lsd_dn_dn_less = cycidx_pack_dn;
222: static constexpr int cycidx_lsd_dn_dn_over = cycidx_movem_ea_list;
223: static constexpr int cycidx_lsd_w = cycidx_move_ccr_dn;
224: static constexpr int cycidx_asl_imm_dn = cycidx_pack_dn;
225: static constexpr int cycidx_asl_dn_dn = cycidx_unpk_dn;
226: static constexpr int cycidx_asl_w = cycidx_pack_dn;
227: static constexpr int cycidx_asr_imm_dn = cycidx_move_ccr_dn;
228: static constexpr int cycidx_asr_dn_dn_less = cycidx_pack_dn;
229: static constexpr int cycidx_asr_w = cycidx_move_ccr_dn;
230: static constexpr int cycidx_rod_imm_dn = cycidx_pack_dn;
231: static constexpr int cycidx_rod_dn_dn = cycidx_unpk_dn;
232: static constexpr int cycidx_rod_w = cycidx_pack_dn;
233: static constexpr int cycidx_roxd_w = cycidx_move_ccr_dn;
234: static constexpr int cycidx_btst_imm = cycidx_fea_anpd;
235: static constexpr int cycidx_btst_dn = cycidx_move_ccr_dn;
236: static constexpr int cycidx_bchg_imm = cycidx_pack_dn;
237: static constexpr int cycidx_bclr_imm = cycidx_pack_dn;
238: static constexpr int cycidx_bclr_dn = cycidx_bchg_dn;
239: static constexpr int cycidx_bset_imm = cycidx_pack_dn;
240: static constexpr int cycidx_bset_dn = cycidx_bchg_dn;
241: static constexpr int cycidx_bftst_dn = cycidx_unpk_dn;
242: static constexpr int cycidx_bftst_ea_less = cycidx_cea_anix_indir;
243: static constexpr int cycidx_bfclr_dn = cycidx_bfchg_dn;
244: static constexpr int cycidx_bfclr_ea_less = cycidx_bfchg_ea_less;
245: static constexpr int cycidx_bfclr_ea_over = cycidx_bfchg_ea_over;
246: static constexpr int cycidx_bfset_dn = cycidx_bfchg_dn;
247: static constexpr int cycidx_bfset_ea_less = cycidx_bfchg_ea_less;
248: static constexpr int cycidx_bfset_ea_over = cycidx_bfchg_ea_over;
249: static constexpr int cycidx_bfins_ea_less = cycidx_bfext_ea_less;
250: static constexpr int cycidx_bfins_ea_over = cycidx_bfext_ea_over;
251: static constexpr int cycidx_bcc_b_not = cycidx_move_sr_dn;
252: static constexpr int cycidx_bcc_w_not = cycidx_pack_dn;
253: static constexpr int cycidx_bcc_l_not = cycidx_movem_ea_list;
254: static constexpr int cycidx_eori_sr = cycidx_andi_sr;
255: static constexpr int cycidx_ori_sr = cycidx_andi_sr;
256: static constexpr int cycidx_eori_ccr = cycidx_andi_ccr;
257: static constexpr int cycidx_ori_ccr = cycidx_andi_ccr;
258: static constexpr int cycidx_lea = cycidx_fea_absw;
259: static constexpr int cycidx_link_w = cycidx_move_sr_ea;
260: static constexpr int cycidx_pea = cycidx_move_ccr_dn;
261: static constexpr int cycidx_unlk = cycidx_scc_ea;
262: static constexpr int cycidx_stop = cycidx_chk;
263: static constexpr int cycidx_illegal = cycidx_trap;
264: static constexpr int cycidx_aline = cycidx_trap;
265: static constexpr int cycidx_fline = cycidx_trap;
266: static constexpr int cycidx_excep_priv = cycidx_trap;
267: static constexpr int cycidx_trapcc_l_inc = cycidx_trapcc;
268: static constexpr int cycidx_trapv_excep = cycidx_trapcc_excep;
269: static constexpr int cycidx_trapv = cycidx_trapcc;
270: static constexpr int cycidx_pmove_ea_tt = cycidx_andi_sr;
271: static constexpr int cycidx_pmove_tt_ea = cycidx_movem_ea_list;
272: static constexpr int cycidx_pload = cycidx_andi_sr;
273: static constexpr int cycidx_pmove_tc_ea = cycidx_fea_absl;
274: static constexpr int cycidx_pmove_ea_xrp = cycidx_chk_excep_max;
275: static constexpr int cycidx_pmove_xrp_ea = cycidx_fea_absl;
276: static constexpr int cycidx_pmove_ea_mmusr = cycidx_cea_anix_direct;
277: static constexpr int cycidx_pmove_mmusr_ea = cycidx_fea_absl;
278: static constexpr int cycidx_cea_fpu_anpd = cycidx_cea_fpu_anpi;
279: static constexpr int cycidx_fneg = cycidx_fabs;
280: static constexpr int cycidx_fsub = cycidx_fadd;
281: static constexpr int cycidx_ftst = cycidx_fcmp;
282: static constexpr int cycidx_fmovem_reg2ea_anpd = cycidx_cea_anix_bd4;
283: static constexpr int cycidx_ftrapccw_nop = cycidx_fscc_mem;
284: static constexpr int cycidx_fbccl_nop = cycidx_fscc_dn;
285: #endif
286:
287: #if defined(M680X0_CYCLE_TABLE)
288: /*static*/ const int8
289: MPU680x0Device::cycle_table_030cc[] = {
290: -5, 0, 2, 2, 2, 2, 2, 2,
291: 2, 3, 3, 4, 4, 4, 4, 4,
292: 4, 4, 4, 4, 4, 4, 5, 5,
293: 6, 6, 6, 6, 6, 6, 6, 6,
294: 6, 6, 6, 6, 7, 7, 8, 8,
295: 8, 8, 9, 9, 9, 10, 10, 10,
296: 10, 10, 11, 11, 11, 12, 12, 12,
297: 12, 12, 12, 12, 12, 12, 12, 13,
298: 13, 14, 14, 14, 14, 16, 18, 18,
299: 18, 18, 18, 18, 18, 18, 20, 20,
300: 20, 20, 20, 20, 20, 21, 21, 22,
301: 22, 22, 22, 22, 23, 24, 24, 25,
302: 25, 27, 28, 28, 28, 28, 28, 28,
303: 31, 33, 33, 35, 35, 37, 38, 39,
304: 40, 41, 43, 44, 44, 49, 51, 51,
305: 52, 56, 57, 59, 62, 69, 71, 72,
306: 78, 78, 80, 86, 90, 98,100,103,
307: 107,
308: };
309: /*static*/ const int8
310: MPU680x0Device::cycle_table_030ncc[] = {
311: -5, 2, 2, 2, 2, 2, 2, 3,
312: 3, 3, 4, 4, 4, 4, 4, 4,
313: 4, 5, 5, 5, 6, 7, 5, 6,
314: 6, 6, 6, 6, 6, 6, 7, 7,
315: 8, 8, 8, 9, 7, 7, 8, 8,
316: 8, 10, 9, 10, 11, 10, 10, 10,
317: 12, 13, 11, 11, 11, 12, 12, 12,
318: 12, 12, 13, 14, 14, 14, 14, 13,
319: 14, 14, 14, 14, 14, 18, 18, 18,
320: 19, 20, 20, 20, 21, 22, 20, 20,
321: 22, 23, 23, 24, 26, 22, 24, 22,
322: 22, 24, 25, 27, 23, 24, 32, 25,
323: 29, 30, 28, 28, 28, 30, 30, 31,
324: 34, 33, 33, 35, 38, 40, 40, 47,
325: 42, 45, 52, 44, 44, 52, 51, 54,
326: 54, 56, 58, 59, 64, 69, 71, 72,
327: 78, 78, 80, 86, 90, 98,100,103,
328: 107,
329: };
330: /*static*/ const int8
331: MPU680x0Device::cycle_table_040[] = {
332: 0, 5, 0, 1, 2, 8, 19, 0,
333: 1, 1, 1, 1, 2, 3, 5, 6,
334: 7, 1, 2, 3, 3, 3, 2, 13,
335: 0, 1, 3, 4, 7, 11, 1, 3,
336: 2, 3, 4, 2, 23, 28, 3, 4,
337: 8, 9, 9, 3, 5, 3, 5, 9,
338: 6, 4, 5, 6, 37, 5, 6, 7,
339: 9, 26, 10, 4, 7, 9, 11, 37,
340: 4, 7, 10, 13, 19, 12, 11, 19,
341: 6, 13, 14, 16, 6, 6, 7, 13,
342: 0, 6, 7, 8, 10, 13, 6, 11,
343: 20, 19, 6, 6, 3, 50, 10, 3,
344: 4, 4, 14, 16, 21, 4, 8, 3,
345: 3, 5, 14, 2, 14, 14, 0, 47,
346: 11, 45, 52, 20, 27, 15, 5, 15,
347: 12, 27, 13, 7, 64, 39, 7, 4,
348: 4, 44, 3, 3, 44, 12, 11, 39,
349: 105,
350: };
351: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.