annotate lwasm/cycle.c @ 550:c71c80a3b280 lwtools-4.21

Bump version in preparation for release
author William Astle <lost@l-w.ca>
date Sun, 23 Apr 2023 10:22:40 -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 }