annotate lwasm/cycle.c @ 577:e49d24f4a9a5

Correct bug in the object file output code leading to stack corruption It turns out leaving a pointer to a stack allocated temporary in a persistent data structure is not conducive to correct program operation. Undo the export check setup in the object file output sequence so a pointer to stack allocated memory is not left hanging when the function returns. This seems to correct at least one mysterious crash bug, and possibly others. Thanks to Boisy Pitre for reporting the crash bug that led to this discovery, as well as a previous crash bug that likely has the same root cause. Additional thanks to Ciaran Anscomb whose debugger wielding wizardry revealed the exact location of this particular bit of unbrilliance.
author William Astle <lost@l-w.ca>
date Sat, 03 Aug 2024 14:30:06 -0600
parents e545196bf14f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
1 /*
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
2 cycle.c
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
3
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
4 Copyright (c) 2015 Erik Gavriluk
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
5 Dual-licensed BSD 3-CLAUSE and GPL as per below.
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
6 Thanks to John Kowalksi for cycle count verification.
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
7
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
8 This file is part of LWTOOLS.
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
9
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
10 LWTOOLS is free software: you can redistribute it and/or modify it under the
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
11 terms of the GNU General Public License as published by the Free Software
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
12 Foundation, either version 3 of the License, or (at your option) any later
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
13 version.
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
14
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
15 This program is distributed in the hope that it will be useful, but WITHOUT
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
17 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
18 more details.
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
19
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
20 You should have received a copy of the GNU General Public License along with
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
21 this program. If not, see <http://www.gnu.org/licenses/>.
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
22 */
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
23
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
24 #include "lwasm.h"
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
25
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
26 typedef struct
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
27 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
28 int opc;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
29 int cycles_6809;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
30 int cycles_6309;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
31 cycle_flags flags;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
32 } cycletable_t;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
33
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
34 static cycletable_t cycletable[] =
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
35 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
36 { 0x3a, 3, 1, 0 }, // ABX
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
37
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
38 { 0x89, 2, 2, 0 }, // ADCA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
39 { 0x99, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
40 { 0xa9, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
41 { 0xb9, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
42
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
43 { 0xc9, 2, 2, 0 }, // ADCB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
44 { 0xd9, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
45 { 0xe9, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
46 { 0xf9, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
47
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
48 { 0x1089, 5, 4, 0 }, // ADCD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
49 { 0x1099, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
50 { 0x10a9, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
51 { 0x10b9, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
52
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
53 { 0x8b, 2, 2, 0 }, // ADDA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
54 { 0x9b, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
55 { 0xab, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
56 { 0xbb, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
57
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
58 { 0xcb, 2, 2, 0 }, // ADDB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
59 { 0xdb, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
60 { 0xeb, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
61 { 0xfb, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
62
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
63 { 0xc3, 4, 3, 0 }, // ADDD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
64 { 0xd3, 6, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
65 { 0xe3, 6, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
66 { 0xf3, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
67
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
68 { 0x118b, 3, 3, 0 }, // ADDE
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
69 { 0x119b, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
70 { 0x11ab, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
71 { 0x11bb, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
72
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
73 { 0x11cb, 3, 3, 0 }, // ADDF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
74 { 0x11db, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
75 { 0x11eb, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
76 { 0x11fb, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
77
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
78 { 0x1031, 4, 4, 0 }, // ADCR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
79 { 0x1030, 4, 4, 0 }, // ADDR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
80 { 0x1034, 4, 4, 0 }, // ANDR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
81 { 0x1037, 4, 4, 0 }, // CMPR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
82 { 0x1036, 4, 4, 0 }, // EORR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
83 { 0x1035, 4, 4, 0 }, // ORR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
84 { 0x1033, 4, 4, 0 }, // SBCR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
85 { 0x1032, 4, 4, 0 }, // SUBR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
86
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
87 { 0x108b, 5, 4, 0 }, // ADDW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
88 { 0x109b, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
89 { 0x10ab, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
90 { 0x10bb, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
91
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
92 { 0x02, 6, 6, 0 }, // AIM
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
93 { 0x62, 7, 7, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
94 { 0x72, 7, 7, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
95
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
96 { 0x84, 2, 2, 0 }, // ANDA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
97 { 0x94, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
98 { 0xa4, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
99 { 0xb4, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
100
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
101 { 0xc4, 2, 2, 0 }, // ANDB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
102 { 0xd4, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
103 { 0xe4, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
104 { 0xf4, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
105
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
106 { 0x1c, 3, 2, 0 }, // ANDCC
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
107
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
108 { 0x1084, 5, 4, 0 }, // ANDD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
109 { 0x1094, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
110 { 0x10a4, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
111 { 0x10b4, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
112
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
113 { 0x48, 2, 1, 0 }, // ASL
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
114 { 0x58, 2, 1, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
115 { 0x1048, 3, 2, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
116 { 0x08, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
117 { 0x68, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
118 { 0x78, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
119
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
120 { 0x47, 2, 1, 0 }, // ASR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
121 { 0x57, 2, 1, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
122 { 0x1047, 3, 2, 0 },
475
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
123 { 0x07, 6, 5, 0 },
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
124 { 0x67, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
125 { 0x77, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
126
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
127 { 0x1130, 7, 6, 0 }, // BAND
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
128 { 0x1131, 7, 6, 0 }, // BIAND
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
129 { 0x1132, 7, 6, 0 }, // BOR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
130 { 0x1133, 7, 6, 0 }, // BIOR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
131 { 0x1134, 7, 6, 0 }, // BEOR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
132 { 0x1135, 7, 6, 0 }, // BIEOR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
133
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
134 { 0x85, 2, 2, 0 }, // BITA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
135 { 0x95, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
136 { 0xa5, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
137 { 0xb5, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
138
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
139 { 0xc5, 2, 2, 0 }, // BITB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
140 { 0xd5, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
141 { 0xe5, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
142 { 0xf5, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
143
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
144 { 0x1085, 5, 4, 0 }, // BITD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
145 { 0x1095, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
146 { 0x10a5, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
147 { 0x10b5, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
148
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
149 { 0x113c, 4, 4, 0 }, // BITMD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
150
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
151 { 0x20, 3, 3, 0 }, // BRA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
152 { 0x21, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
153 { 0x22, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
154 { 0x23, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
155 { 0x24, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
156 { 0x25, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
157 { 0x26, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
158 { 0x27, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
159 { 0x28, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
160 { 0x29, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
161 { 0x2a, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
162 { 0x2b, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
163 { 0x2c, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
164 { 0x2d, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
165 { 0x2e, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
166 { 0x2f, 3, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
167
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
168 { 0x8d, 7, 6, 0 }, // BSR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
169
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
170 { 0x4f, 2, 1, 0 }, // CLR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
171 { 0x5f, 2, 1, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
172 { 0x104f, 3, 2, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
173 { 0x114f, 3, 2, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
174 { 0x115f, 3, 2, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
175 { 0x105f, 3, 2, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
176 { 0x0f, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
177 { 0x6f, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
178 { 0x7f, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
179
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
180 { 0x81, 2, 2, 0 }, // CMPA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
181 { 0x91, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
182 { 0xa1, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
183 { 0xb1, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
184
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
185 { 0xc1, 2, 2, 0 }, // CMPB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
186 { 0xd1, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
187 { 0xe1, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
188 { 0xf1, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
189
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
190 { 0x1083, 5, 4, 0 }, // CMPD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
191 { 0x1093, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
192 { 0x10a3, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
193 { 0x10b3, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
194
475
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
195 { 0x1181, 3, 3, 0 }, // CMPE
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
196 { 0x1191, 5, 4, 0 },
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
197 { 0x11a1, 5, 5, CYCLE_ADJ },
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
198 { 0x11b1, 6, 5, 0 },
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
199
475
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
200 { 0x11c1, 3, 3, 0 }, // CMPF
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
201 { 0x11d1, 5, 4, 0 },
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
202 { 0x11e1, 5, 5, CYCLE_ADJ },
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
203 { 0x11f1, 6, 5, 0 },
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
204
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
205 { 0x118c, 5, 4, 0 }, // CMPS
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
206 { 0x119c, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
207 { 0x11ac, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
208 { 0x11bc, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
209
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
210 { 0x1183, 5, 4, 0 }, // CMPU
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
211 { 0x1193, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
212 { 0x11a3, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
213 { 0x11b3, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
214
475
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
215 { 0x1081, 5, 4, 0 }, // CMPW
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
216 { 0x1091, 7, 5, 0 },
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
217 { 0x10a1, 7, 6, CYCLE_ADJ },
b9917c4dc6cf Fix cycle counts for asr, cmpe, cmpf and cmpw.
Doug Masten <doug@dougmasten.com>
parents: 408
diff changeset
218 { 0x10b1, 8, 6, 0 },
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
219
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
220 { 0x8c, 4, 3, 0 }, // CMPX
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
221 { 0x9c, 6, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
222 { 0xac, 6, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
223 { 0xbc, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
224
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
225 { 0x108c, 5, 4, 0 }, // CMPY
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
226 { 0x109c, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
227 { 0x10ac, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
228 { 0x10bc, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
229
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
230 { 0x43, 2, 1, 0 }, // COMA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
231 { 0x53, 2, 1, 0 }, // COMB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
232 { 0x1043, 3, 2, 0 }, // COMD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
233 { 0x1143, 3, 2, 0 }, // COME
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
234 { 0x1153, 3, 2, 0 }, // COMF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
235 { 0x1053, 3, 2, 0 }, // COMW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
236
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
237 { 0x03, 6, 5, 0 }, // COM
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
238 { 0x63, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
239 { 0x73, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
240
385
4fd16faa4d93 Add various "convenience" ops
William Astle <lost@l-w.ca>
parents: 378
diff changeset
241 { 0x3c, 22, 20, CYCLE_ESTIMATED }, // CWAI
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
242
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
243 { 0x19, 2, 1, 0 }, // DAA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
244
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
245 { 0x4a, 2, 1, 0 }, // DECA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
246 { 0x5a, 2, 1, 0 }, // DECB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
247 { 0x104a, 3, 2, 0 }, // DECD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
248 { 0x114a, 3, 2, 0 }, // DECE
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
249 { 0x115a, 3, 2, 0 }, // DECF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
250 { 0x105a, 3, 2, 0 }, // DECW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
251
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
252 { 0x0a, 6, 5, 0 }, // DEC
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
253 { 0x6a, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
254 { 0x7a, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
255
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
256 { 0x118d, 25, 25, 0 }, // DIVD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
257 { 0x119d, 27, 26, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
258 { 0x11ad, 27, 27, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
259 { 0x11bd, 28, 27, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
260
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
261 { 0x118e, 34, 34, 0 }, // DIVQ
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
262 { 0x119e, 36, 35, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
263 { 0x11ae, 36, 36, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
264 { 0x11be, 37, 36, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
265
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
266 { 0x05, 6, 6, 0 }, // EIM
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
267 { 0x65, 7, 7, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
268 { 0x75, 7, 7, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
269
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
270 { 0x88, 2, 2, 0 }, // EORA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
271 { 0x98, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
272 { 0xa8, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
273 { 0xb8, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
274
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
275 { 0xc8, 2, 2, 0 }, // EORB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
276 { 0xd8, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
277 { 0xe8, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
278 { 0xf8, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
279
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
280 { 0x1088, 5, 4, 0 }, // EORD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
281 { 0x1098, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
282 { 0x10a8, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
283 { 0x10b8, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
284
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
285 { 0x1e, 8, 5, 0 }, // EXG
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
286
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
287 { 0x4c, 2, 1, 0 }, // INCA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
288 { 0x5c, 2, 1, 0 }, // INCB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
289 { 0x104c, 3, 2, 0 }, // INCD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
290 { 0x114c, 3, 2, 0 }, // INCE
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
291 { 0x115c, 3, 2, 0 }, // INCF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
292 { 0x105c, 3, 2, 0 }, // INCW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
293
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
294 { 0x0c, 6, 5, 0 }, // INC
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
295 { 0x6c, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
296 { 0x7c, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
297
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
298 { 0x0e, 3, 2, 0 }, // JMP
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
299 { 0x6e, 3, 3, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
300 { 0x7e, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
301
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
302 { 0x9d, 7, 6, 0 }, // JSR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
303 { 0xad, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
304 { 0xbd, 8, 7, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
305
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
306 { 0x16, 5, 4, 0 }, // LBRA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
307 { 0x17, 9, 7, 0 }, // LBSR
408
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
308 { 0x1021, 5, 5, 0 }, // LBRN
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
309 { 0x1022, 5, 5, 0 }, // remaining long branches are estimated on 6809 only:
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
310 { 0x1023, 5, 5, 0 }, //
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
311 { 0x1024, 5, 5, 0 }, // 6809: 5 cycles, +1 cycle if the branch is taken
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
312 { 0x1025, 5, 5, 0 }, // 6309 native: always 5 cycles
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
313 { 0x1026, 5, 5, 0 }, //
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
314 { 0x1027, 5, 5, 0 }, // this is handled as a special case elsewhere
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
315 { 0x1028, 5, 5, 0 },
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
316 { 0x1029, 5, 5, 0 },
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
317 { 0x102a, 5, 5, 0 },
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
318 { 0x102b, 5, 5, 0 },
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
319 { 0x102c, 5, 5, 0 },
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
320 { 0x102d, 5, 5, 0 },
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
321 { 0x102e, 5, 5, 0 },
0af33282b518 Fix cycle counting for relative branches.
William Astle <lost@l-w.ca>
parents: 405
diff changeset
322 { 0x102f, 5, 5, 0 },
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
323
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
324 { 0x86, 2, 2, 0 }, // LDA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
325 { 0x96, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
326 { 0xa6, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
327 { 0xb6, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
328
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
329 { 0xc6, 2, 2, 0 }, // LDB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
330 { 0xd6, 4, 3 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
331 { 0xe6, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
332 { 0xf6, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
333
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
334 { 0x1136, 7, 6, 0 }, // LDBT
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
335
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
336 { 0xcc, 3, 3, 0 }, // LDD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
337 { 0xdc, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
338 { 0xec, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
339 { 0xfc, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
340
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
341 { 0x1186, 3, 3, 0 }, // LDE
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
342 { 0x1196, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
343 { 0x11a6, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
344 { 0x11b6, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
345
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
346 { 0x11c6, 3, 3, 0 }, // LDF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
347 { 0x11d6, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
348 { 0x11e6, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
349 { 0x11f6, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
350
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
351 { 0xcd, 5, 5, 0 }, // LDQ
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
352 { 0x10dc, 8, 7, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
353 { 0x10ec, 8, 8, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
354 { 0x10fc, 9, 8, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
355
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
356 { 0x10ce, 4, 4, 0 }, // LDS
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
357 { 0x10de, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
358 { 0x10ee, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
359 { 0x10fe, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
360
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
361 { 0xce, 3, 3, 0 }, // LDU
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
362 { 0xde, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
363 { 0xee, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
364 { 0xfe, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
365
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
366 { 0x1086, 4, 4, 0 }, // LDW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
367 { 0x1096, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
368 { 0x10a6, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
369 { 0x10b6, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
370
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
371 { 0x8e, 3, 3, 0 }, // LDX
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
372 { 0x9e, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
373 { 0xae, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
374 { 0xbe, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
375
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
376 { 0x108e, 4, 4, 0 }, // LDY
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
377 { 0x109e, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
378 { 0x10ae, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
379 { 0x10be, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
380
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
381 { 0x113d, 5, 5, 0 }, // LDMD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
382
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
383 { 0x30, 4, 4, CYCLE_ADJ }, // LEA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
384 { 0x31, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
385 { 0x32, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
386 { 0x33, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
387
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
388 { 0x44, 2, 1, 0 }, // LSRA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
389 { 0x54, 2, 1, 0 }, // LSRB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
390 { 0x1044, 3, 2, 0 }, // LSRD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
391 { 0x1054, 3, 2, 0 }, // LSRW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
392
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
393 { 0x04, 6, 5, 0 }, // LSR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
394 { 0x64, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
395 { 0x74, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
396
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
397 { 0x3d, 11, 10, 0 }, // MUL
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
398
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
399 { 0x118f, 28, 28, 0 }, // MULD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
400 { 0x119f, 30, 29, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
401 { 0x11af, 30, 30, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
402 { 0x11bf, 31, 30, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
403
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
404 { 0x40, 2, 1, 0 }, // NEGA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
405 { 0x50, 2, 1, 0 }, // NEGB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
406 { 0x1040, 3, 2, 0 }, // NEGD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
407
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
408 { 0x00, 6, 5, 0 }, // NEG
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
409 { 0x60, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
410 { 0x70, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
411
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
412 { 0x12, 2, 1, 0 }, // NOP
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
413
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
414 { 0x01, 6, 6, 0 }, // OIM
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
415 { 0x61, 7, 7, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
416 { 0x71, 7, 7, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
417
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
418 { 0x8a, 2, 2, 0 }, // ORA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
419 { 0x9a, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
420 { 0xaa, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
421 { 0xba, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
422
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
423 { 0xca, 2, 2, 0 }, // ORB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
424 { 0xda, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
425 { 0xea, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
426 { 0xfa, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
427
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
428 { 0x1a, 3, 2, 0 }, // ORCC
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
429
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
430 { 0x108a, 5, 4, 0 }, // ORD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
431 { 0x109a, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
432 { 0x10aa, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
433 { 0x10ba, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
434
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
435 { 0x34, 5, 4, CYCLE_ADJ }, // PSHS
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
436 { 0x36, 5, 4, CYCLE_ADJ }, // PSHU
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
437 { 0x35, 5, 4, CYCLE_ADJ }, // PULS
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
438 { 0x37, 5, 4, CYCLE_ADJ }, // PULU
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
439 { 0x1038, 6, 6, 0 }, // PSHSW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
440 { 0x103a, 6, 6, 0 }, // PSHUW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
441 { 0x1039, 6, 6, 0 }, // PULSW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
442 { 0x103b, 6, 6, 0 }, // PULUW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
443
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
444 { 0x49, 2, 1, 0 }, // ROLA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
445 { 0x59, 2, 1, 0 }, // ROLB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
446 { 0x1049, 3, 2, 0 }, // ROLD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
447 { 0x1059, 3, 2, 0 }, // ROLW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
448
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
449 { 0x09, 6, 5, 0 }, // ROL
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
450 { 0x69, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
451 { 0x79, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
452
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
453 { 0x46, 2, 1, 0 }, // RORA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
454 { 0x56, 2, 1, 0 }, // RORB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
455 { 0x1046, 3, 2, 0 }, // RORD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
456 { 0x1056, 3, 2, 0 }, // RORW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
457
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
458 { 0x06, 6, 5, 0 }, // ROR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
459 { 0x66, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
460 { 0x76, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
461
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
462 { 0x3b, 6, 17, CYCLE_ESTIMATED }, // RTI
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
463
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
464 { 0x39, 5, 4, 0 }, // RTS
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
465
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
466 { 0x82, 2, 2, 0 }, // SBCA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
467 { 0x92, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
468 { 0xa2, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
469 { 0xb2, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
470
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
471 { 0xc2, 2, 2, 0 }, // SBCB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
472 { 0xd2, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
473 { 0xe2, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
474 { 0xf2, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
475
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
476 { 0x1082, 5, 4, 0 }, // SBCD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
477 { 0x1092, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
478 { 0x10a2, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
479 { 0x10b2, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
480
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
481 { 0x1d, 2, 1, 0 }, // SEX
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
482 { 0x14, 4, 4, 0 }, // SEXW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
483
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
484 { 0x97, 4, 3, 0 }, // STA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
485 { 0xa7, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
486 { 0xb7, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
487
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
488 { 0xd7, 4, 3, 0 }, // STB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
489 { 0xe7, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
490 { 0xf7, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
491
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
492 { 0x1137, 8, 7, 0 }, // STBT
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
493
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
494 { 0xdd, 5, 4, 0 }, // STD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
495 { 0xed, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
496 { 0xfd, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
497
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
498 { 0x1197, 5, 4, 0 }, // STE
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
499 { 0x11a7, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
500 { 0x11b7, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
501
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
502 { 0x11d7, 5, 4, 0 }, // STF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
503 { 0x11e7, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
504 { 0x11f7, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
505
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
506 { 0x10dd, 8, 7, 0 }, // STQ
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
507 { 0x10ed, 8, 8, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
508 { 0x10fd, 9, 8, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
509
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
510 { 0x10df, 6, 5, 0 }, // STS
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
511 { 0x10ef, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
512 { 0x10ff, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
513
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
514 { 0xdf, 5, 4, 0 }, // STU
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
515 { 0xef, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
516 { 0xff, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
517
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
518 { 0x1097, 6, 5, 0 }, // STW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
519 { 0x10a7, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
520 { 0x10b7, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
521
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
522 { 0x9f, 5, 4, 0 }, // STX
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
523 { 0xaf, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
524 { 0xbf, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
525
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
526 { 0x109f, 6, 5, 0 }, // STY
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
527 { 0x10af, 6, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
528 { 0x10bf, 7, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
529
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
530 { 0x80, 2, 2, 0 }, // SUBA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
531 { 0x90, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
532 { 0xa0, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
533 { 0xb0, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
534
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
535 { 0xc0, 2, 2, 0 }, // SUBB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
536 { 0xd0, 4, 3, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
537 { 0xe0, 4, 4, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
538 { 0xf0, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
539
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
540 { 0x83, 4, 3, 0 }, // SUBD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
541 { 0x93, 6, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
542 { 0xa3, 6, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
543 { 0xb3, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
544
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
545 { 0x1180, 3, 3, 0 }, // SUBE
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
546 { 0x1190, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
547 { 0x11a0, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
548 { 0x11b0, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
549
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
550 { 0x11c0, 3, 3, 0 }, // SUBF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
551 { 0x11d0, 5, 4, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
552 { 0x11e0, 5, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
553 { 0x11f0, 6, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
554
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
555 { 0x1080, 5, 4, 0 }, // SUBW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
556 { 0x1090, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
557 { 0x10a0, 7, 6, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
558 { 0x10b0, 8, 6, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
559
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
560 { 0x3f, 19, 21, 0 }, // SWI
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
561 { 0x103f, 20, 22, 0 }, // SWI2
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
562 { 0x113f, 20, 22, 0 }, // SWI3
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
563
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
564 { 0x13, 2, 1, CYCLE_ESTIMATED }, // SYNC
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
565
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
566 { 0x1f, 6, 4, 0 }, // TFR
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
567
486
e545196bf14f Fix cycle count for TIM
William Astle <lost@l-w.ca>
parents: 482
diff changeset
568 { 0x0b, 6, 6, 0 }, // TIM
e545196bf14f Fix cycle count for TIM
William Astle <lost@l-w.ca>
parents: 482
diff changeset
569 { 0x6b, 7, 7, CYCLE_ADJ },
e545196bf14f Fix cycle count for TIM
William Astle <lost@l-w.ca>
parents: 482
diff changeset
570 { 0x7b, 7, 7, 0 },
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
571
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
572 { 0x1138, 6, 6, CYCLE_ESTIMATED }, // TFM
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
573 { 0x1139, 6, 6, CYCLE_ESTIMATED },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
574 { 0x113a, 6, 6, CYCLE_ESTIMATED },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
575 { 0x113b, 6, 6, CYCLE_ESTIMATED },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
576
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
577 { 0x4d, 2, 1, 0 }, // TSTA
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
578 { 0x5d, 2, 1, 0 }, // TSTB
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
579 { 0x104d, 3, 2, 0 }, // TSTD
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
580 { 0x114d, 3, 2, 0 }, // TSTE
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
581 { 0x115d, 3, 2, 0 }, // TSTF
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
582 { 0x105d, 3, 2, 0 }, // TSTW
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
583
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
584 { 0x0d, 6, 4, 0 }, // TST
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
585 { 0x6d, 6, 5, CYCLE_ADJ },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
586 { 0x7d, 7, 5, 0 },
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
587
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
588 { -1, -1 }
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
589 };
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
590
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
591 typedef struct
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
592 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
593 int cycles_6809_indexed;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
594 int cycles_6309_indexed;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
595 int cycles_6809_indirect;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
596 int cycles_6309_indirect;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
597 } indtab_t;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
598
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
599 static indtab_t indtab[] =
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
600 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
601 { 2, 1, -1, -1, }, // 0000 ,R+
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
602 { 3, 2, 6, 6, }, // 0001 ,R++ [,R++]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
603 { 2, 1, -1, -1, }, // 0010 ,-R
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
604 { 3, 2, 6, 6, }, // 0011 ,--R [,--R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
605 { 0, 0, 3, 3, }, // 0100 ,R [,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
606 { 1, 1, 4, 4, }, // 0101 B,R [B,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
607 { 1, 1, 4, 4, }, // 0110 A,R [A,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
608 { 1, 1, 1, 1, }, // 0111 E,R [E,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
609 { 1, 1, 4, 4, }, // 1000 n,R [n,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
610 { 4, 3, 7, 7, }, // 1001 n,R [n,R] (16 bit)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
611 { 1, 1, 1, 1, }, // 1010 F,R [F,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
612 { 4, 2, 4, 4, }, // 1011 D,R [D,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
613 { 1, 1, 4, 4, }, // 1100 n,PC [n,PC]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
614 { 5, 3, 8, 8, }, // 1101 n,PC [n,PC] (16 bit)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
615 { 4, 1, 4, 4, }, // 1110 W,R [W,R]
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
616 { -1, -1, 5, 5, }, // 1111 [n] (16 bit)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
617 };
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
618
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
619 /* calculates additional ticks from post byte in both indexed and indirect modes */
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
620 int lwasm_cycle_calc_ind(line_t *cl)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
621 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
622 int pb = cl->pb;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
623
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
624 if ((pb & 0x80) == 0) /* 5 bit offset */
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
625 return 1;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
626
482
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
627 // These need special handling because the *register* bits determine the specific operation (and, thus, cycle counts)
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
628 if (!CURPRAGMA(cl, PRAGMA_6809))
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
629 {
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
630 switch (pb)
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
631 {
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
632 case 0x8f: // ,W
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
633 return 0;
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
634 case 0xaf: // n,W (16 bit)
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
635 return 2;
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
636 case 0xcf: // ,W++
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
637 case 0xef: // ,--W
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
638 return 1;
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
639 case 0x90: // [,W]
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
640 return 3;
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
641 case 0xb0: // [n,W] (16 bit)
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
642 return 5;
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
643 case 0xd0: // [,W++]
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
644 case 0xf0: // [,--W]
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
645 return 4;
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
646 }
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
647 }
9c24336fa76c Correct cycle counts for W relative indexing modes
William Astle <lost@l-w.ca>
parents: 475
diff changeset
648
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
649 if (pb & 0x10) /* indirect */
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
650 return CURPRAGMA(cl, PRAGMA_6809) ? indtab[pb & 0xf].cycles_6809_indirect : indtab[pb & 0xf].cycles_6309_indirect;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
651 else
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
652 return CURPRAGMA(cl, PRAGMA_6809) ? indtab[pb & 0xf].cycles_6809_indexed : indtab[pb & 0xf].cycles_6309_indexed;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
653 }
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
654
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
655 /* calculate additional ticks from post byte in rlist (PSHS A,B,X...) */
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
656 int lwasm_cycle_calc_rlist(line_t *cl)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
657 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
658 int i, cycles = 0;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
659
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
660 for (i = 0; i < 8; i++)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
661 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
662 // 1 cycle for 8 bit regs CC-DP (bits 0-3)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
663 // otherwise 2
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
664 if (cl->pb & 1 << i)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
665 cycles += (i <= 3) ? 1 : 2;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
666 }
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
667
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
668 return cycles;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
669 }
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
670
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
671 void lwasm_cycle_update_count(line_t *cl, int opc)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
672 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
673 int i;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
674 for (i = 0; 1; i++)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
675 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
676 if (cycletable[i].opc == -1) return;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
677
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
678 if (cycletable[i].opc == opc)
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
679 {
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
680 cl->cycle_base = CURPRAGMA(cl, PRAGMA_6809) ? cycletable[i].cycles_6809 : cycletable[i].cycles_6309;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
681 cl->cycle_flags = cycletable[i].flags;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
682 cl->cycle_adj = 0;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
683
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
684 // long branches are estimated on 6809
405
4c8925f97eb5 Fix bug identifying long branches in cycle counting code
William Astle <lost@l-w.ca>
parents: 385
diff changeset
685 if (CURPRAGMA(cl, PRAGMA_6809) && (opc >= 0x1022 && opc <= 0x102f))
378
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
686 cl->cycle_flags |= CYCLE_ESTIMATED;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
687
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
688 return;
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
689 }
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
690 }
b0ec15f95563 Add missed file in 35d4213e6657
William Astle <lost@l-w.ca>
parents:
diff changeset
691 }