Rizin
unix-like reverse engineering framework and cli tools
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
w
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Enumerations
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Enumerator
b
d
e
h
i
k
n
p
r
s
w
Properties
Events
Related Functions
Files
File List
File Members
All
$
.
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
$
.
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
▼
Rizin
Clone the Rizin project and keep it updated
Contributor Covenant Code of Conduct
How to report issues
DEVELOPERS
README
AVR (arduino, atmega128, ..)
Brainfuck support for rizin
Calling Conventions profiles
Cross-compilation
Rizin Debugger Internals
Conditional breakpoints
ESIL
FLIRT
Connecting rizin with gdb
What is GProbe?
Packaging
RAP protocol
Release process
RzIL
Command parsing and command handling
SIOL - Simple IO Layer
WinDBG
Install Rizin
README
SDB (string database)
Security Policy
README
Capstone Engine
COMPILE
Xcode Project for Capstone
Rizin libdemangle
cabextract
CONTRIBUTING
Project Maintainers
README
Supported platforms
libzip API changes
INSTALL
NEWS
README
Security Policy
Before next release
Projects for various integrated development environments (IDE)
gen_manual - a program for automatic generation of manual from source code
Meson build system for lz4
Snap Packaging
LZ4 Block Format Description
LZ4 Frame Format Description
LZ4 Streaming API Example : Double Buffer
LZ4 Streaming API Example : Line by Line Text Compression
LZ4 API Example : Dictionary Random Access
LZ4 examples
LZ4 Streaming API Basics
LZ4 Windows binary package
LZ4 - Library Files
lz4(1) – lz4, unlz4, lz4cat - Compress or decompress .lz4 files
Command Line Interface for LZ4 library
LZ4 - Extremely fast compression
Programs and scripts for automated testing of LZ4
LICENSE
ptrace-wrap
rizin-shell-parser
spp
<tt>tree-sitter-config</tt>
<tt>tree-sitter-loader</tt>
Tree-sitter CLI
CONTRIBUTING\ilineb
index\ilineb
section-2-using-parsers\ilineb
section-3-creating-parsers\ilineb
section-4-syntax-highlighting\ilineb
section-5-implementation\ilineb
section-6-contributing\ilineb
section-8-code-navigation-systems\ilineb
<tt>tree-sitter-highlight</tt>
Rust Tree-sitter
Web Tree-sitter
Subdirectories
ICU Parts
tree-sitter
<tt>tree-sitter-tags</tt>
tree-sitter-c
tree-sitter-c
xxHash - Extremely fast hash algorithm
Todo List
►
Modules
►
Namespaces
►
Classes
▼
Files
►
File List
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Events
Friends
Macros
Modules
Pages
m6809.inc
Go to the documentation of this file.
1
2
// M6809/HD6309 PAGE1 instructions
3
static
const
inst_page1 g_m6809_inst_page1_table[256] = {
4
// 0x0x, direct instructions
5
{
M680X_INS_NEG
, dir_hid, inh_hid },
6
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
7
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
8
{
M680X_INS_COM
, dir_hid, inh_hid },
9
{
M680X_INS_LSR
, dir_hid, inh_hid },
10
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
11
{
M680X_INS_ROR
, dir_hid, inh_hid },
12
{
M680X_INS_ASR
, dir_hid, inh_hid },
13
{
M680X_INS_LSL
, dir_hid, inh_hid },
14
{
M680X_INS_ROL
, dir_hid, inh_hid },
15
{
M680X_INS_DEC
, dir_hid, inh_hid },
16
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
17
{
M680X_INS_INC
, dir_hid, inh_hid },
18
{
M680X_INS_TST
, dir_hid, inh_hid },
19
{
M680X_INS_JMP
, dir_hid, inh_hid },
20
{
M680X_INS_CLR
, dir_hid, inh_hid },
21
// 0x1x, misc instructions
22
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
// PAGE2
23
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
// PAGE3
24
{
M680X_INS_NOP
, inh_hid, inh_hid },
25
{
M680X_INS_SYNC
, inh_hid, inh_hid },
26
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
27
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
28
{
M680X_INS_LBRA
, rel16_hid, inh_hid },
29
{
M680X_INS_LBSR
, rel16_hid, inh_hid },
30
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
31
{
M680X_INS_DAA
, inh_hid, inh_hid },
32
{
M680X_INS_ORCC
, imm8_hid, inh_hid },
33
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
34
{
M680X_INS_ANDCC
, imm8_hid, inh_hid },
35
{
M680X_INS_SEX
, inh_hid, inh_hid },
36
{
M680X_INS_EXG
, rr09_hid, inh_hid },
37
{
M680X_INS_TFR
, rr09_hid, inh_hid },
38
// 0x2x, relative branch instructions
39
{
M680X_INS_BRA
, rel8_hid, inh_hid },
40
{
M680X_INS_BRN
, rel8_hid, inh_hid },
41
{
M680X_INS_BHI
, rel8_hid, inh_hid },
42
{
M680X_INS_BLS
, rel8_hid, inh_hid },
43
{
M680X_INS_BCC
, rel8_hid, inh_hid },
44
{
M680X_INS_BCS
, rel8_hid, inh_hid },
45
{
M680X_INS_BNE
, rel8_hid, inh_hid },
46
{
M680X_INS_BEQ
, rel8_hid, inh_hid },
47
{
M680X_INS_BVC
, rel8_hid, inh_hid },
48
{
M680X_INS_BVS
, rel8_hid, inh_hid },
49
{
M680X_INS_BPL
, rel8_hid, inh_hid },
50
{
M680X_INS_BMI
, rel8_hid, inh_hid },
51
{
M680X_INS_BGE
, rel8_hid, inh_hid },
52
{
M680X_INS_BLT
, rel8_hid, inh_hid },
53
{
M680X_INS_BGT
, rel8_hid, inh_hid },
54
{
M680X_INS_BLE
, rel8_hid, inh_hid },
55
// 0x3x, misc instructions
56
{
M680X_INS_LEAX
, idx09_hid, inh_hid },
57
{
M680X_INS_LEAY
, idx09_hid, inh_hid },
58
{
M680X_INS_LEAS
, idx09_hid, inh_hid },
59
{
M680X_INS_LEAU
, idx09_hid, inh_hid },
60
{
M680X_INS_PSHS
, rbits_hid, inh_hid },
61
{
M680X_INS_PULS
, rbits_hid, inh_hid },
62
{
M680X_INS_PSHU
, rbits_hid, inh_hid },
63
{
M680X_INS_PULU
, rbits_hid, inh_hid },
64
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
65
{
M680X_INS_RTS
, inh_hid, inh_hid },
66
{
M680X_INS_ABX
, inh_hid, inh_hid },
67
{
M680X_INS_RTI
, inh_hid, inh_hid },
68
{
M680X_INS_CWAI
, imm8_hid, inh_hid },
69
{
M680X_INS_MUL
, inh_hid, inh_hid },
70
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
71
{
M680X_INS_SWI
, inh_hid, inh_hid },
72
// 0x4x, Register A instructions
73
{
M680X_INS_NEGA
, inh_hid, inh_hid },
74
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
75
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
76
{
M680X_INS_COMA
, inh_hid, inh_hid },
77
{
M680X_INS_LSRA
, inh_hid, inh_hid },
78
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
79
{
M680X_INS_RORA
, inh_hid, inh_hid },
80
{
M680X_INS_ASRA
, inh_hid, inh_hid },
81
{
M680X_INS_LSLA
, inh_hid, inh_hid },
82
{
M680X_INS_ROLA
, inh_hid, inh_hid },
83
{
M680X_INS_DECA
, inh_hid, inh_hid },
84
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
85
{
M680X_INS_INCA
, inh_hid, inh_hid },
86
{
M680X_INS_TSTA
, inh_hid, inh_hid },
87
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
88
{
M680X_INS_CLRA
, inh_hid, inh_hid },
89
// 0x5x, Register B instructions
90
{
M680X_INS_NEGB
, inh_hid, inh_hid },
91
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
92
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
93
{
M680X_INS_COMB
, inh_hid, inh_hid },
94
{
M680X_INS_LSRB
, inh_hid, inh_hid },
95
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
96
{
M680X_INS_RORB
, inh_hid, inh_hid },
97
{
M680X_INS_ASRB
, inh_hid, inh_hid },
98
{
M680X_INS_LSLB
, inh_hid, inh_hid },
99
{
M680X_INS_ROLB
, inh_hid, inh_hid },
100
{
M680X_INS_DECB
, inh_hid, inh_hid },
101
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
102
{
M680X_INS_INCB
, inh_hid, inh_hid },
103
{
M680X_INS_TSTB
, inh_hid, inh_hid },
104
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
105
{
M680X_INS_CLRB
, inh_hid, inh_hid },
106
// 0x6x, indexed instructions
107
{
M680X_INS_NEG
, idx09_hid, inh_hid },
108
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
109
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
110
{
M680X_INS_COM
, idx09_hid, inh_hid },
111
{
M680X_INS_LSR
, idx09_hid, inh_hid },
112
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
113
{
M680X_INS_ROR
, idx09_hid, inh_hid },
114
{
M680X_INS_ASR
, idx09_hid, inh_hid },
115
{
M680X_INS_LSL
, idx09_hid, inh_hid },
116
{
M680X_INS_ROL
, idx09_hid, inh_hid },
117
{
M680X_INS_DEC
, idx09_hid, inh_hid },
118
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
119
{
M680X_INS_INC
, idx09_hid, inh_hid },
120
{
M680X_INS_TST
, idx09_hid, inh_hid },
121
{
M680X_INS_JMP
, idx09_hid, inh_hid },
122
{
M680X_INS_CLR
, idx09_hid, inh_hid },
123
// 0x7x, extended instructions
124
{
M680X_INS_NEG
, ext_hid, inh_hid },
125
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
126
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
127
{
M680X_INS_COM
, ext_hid, inh_hid },
128
{
M680X_INS_LSR
, ext_hid, inh_hid },
129
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
130
{
M680X_INS_ROR
, ext_hid, inh_hid },
131
{
M680X_INS_ASR
, ext_hid, inh_hid },
132
{
M680X_INS_LSL
, ext_hid, inh_hid },
133
{
M680X_INS_ROL
, ext_hid, inh_hid },
134
{
M680X_INS_DEC
, ext_hid, inh_hid },
135
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
136
{
M680X_INS_INC
, ext_hid, inh_hid },
137
{
M680X_INS_TST
, ext_hid, inh_hid },
138
{
M680X_INS_JMP
, ext_hid, inh_hid },
139
{
M680X_INS_CLR
, ext_hid, inh_hid },
140
// 0x8x, immediate instructions with Register A,D,X
141
{
M680X_INS_SUBA
, imm8_hid, inh_hid },
142
{
M680X_INS_CMPA
, imm8_hid, inh_hid },
143
{
M680X_INS_SBCA
, imm8_hid, inh_hid },
144
{
M680X_INS_SUBD
, imm16_hid, inh_hid },
145
{
M680X_INS_ANDA
, imm8_hid, inh_hid },
146
{
M680X_INS_BITA
, imm8_hid, inh_hid },
147
{
M680X_INS_LDA
, imm8_hid, inh_hid },
148
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
149
{
M680X_INS_EORA
, imm8_hid, inh_hid },
150
{
M680X_INS_ADCA
, imm8_hid, inh_hid },
151
{
M680X_INS_ORA
, imm8_hid, inh_hid },
152
{
M680X_INS_ADDA
, imm8_hid, inh_hid },
153
{
M680X_INS_CMPX
, imm16_hid, inh_hid },
154
{
M680X_INS_BSR
, rel8_hid, inh_hid },
155
{
M680X_INS_LDX
, imm16_hid, inh_hid },
156
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
157
// 0x9x, direct instructions with register A,D,X
158
{
M680X_INS_SUBA
, dir_hid, inh_hid },
159
{
M680X_INS_CMPA
, dir_hid, inh_hid },
160
{
M680X_INS_SBCA
, dir_hid, inh_hid },
161
{
M680X_INS_SUBD
, dir_hid, inh_hid },
162
{
M680X_INS_ANDA
, dir_hid, inh_hid },
163
{
M680X_INS_BITA
, dir_hid, inh_hid },
164
{
M680X_INS_LDA
, dir_hid, inh_hid },
165
{
M680X_INS_STA
, dir_hid, inh_hid },
166
{
M680X_INS_EORA
, dir_hid, inh_hid },
167
{
M680X_INS_ADCA
, dir_hid, inh_hid },
168
{
M680X_INS_ORA
, dir_hid, inh_hid },
169
{
M680X_INS_ADDA
, dir_hid, inh_hid },
170
{
M680X_INS_CMPX
, dir_hid, inh_hid },
171
{
M680X_INS_JSR
, dir_hid, inh_hid },
172
{
M680X_INS_LDX
, dir_hid, inh_hid },
173
{
M680X_INS_STX
, dir_hid, inh_hid },
174
// 0xAx, indexed instructions with Register A,D,X
175
{
M680X_INS_SUBA
, idx09_hid, inh_hid },
176
{
M680X_INS_CMPA
, idx09_hid, inh_hid },
177
{
M680X_INS_SBCA
, idx09_hid, inh_hid },
178
{
M680X_INS_SUBD
, idx09_hid, inh_hid },
179
{
M680X_INS_ANDA
, idx09_hid, inh_hid },
180
{
M680X_INS_BITA
, idx09_hid, inh_hid },
181
{
M680X_INS_LDA
, idx09_hid, inh_hid },
182
{
M680X_INS_STA
, idx09_hid, inh_hid },
183
{
M680X_INS_EORA
, idx09_hid, inh_hid },
184
{
M680X_INS_ADCA
, idx09_hid, inh_hid },
185
{
M680X_INS_ORA
, idx09_hid, inh_hid },
186
{
M680X_INS_ADDA
, idx09_hid, inh_hid },
187
{
M680X_INS_CMPX
, idx09_hid, inh_hid },
188
{
M680X_INS_JSR
, idx09_hid, inh_hid },
189
{
M680X_INS_LDX
, idx09_hid, inh_hid },
190
{
M680X_INS_STX
, idx09_hid, inh_hid },
191
// 0xBx, extended instructions with register A,D,X
192
{
M680X_INS_SUBA
, ext_hid, inh_hid },
193
{
M680X_INS_CMPA
, ext_hid, inh_hid },
194
{
M680X_INS_SBCA
, ext_hid, inh_hid },
195
{
M680X_INS_SUBD
, ext_hid, inh_hid },
196
{
M680X_INS_ANDA
, ext_hid, inh_hid },
197
{
M680X_INS_BITA
, ext_hid, inh_hid },
198
{
M680X_INS_LDA
, ext_hid, inh_hid },
199
{
M680X_INS_STA
, ext_hid, inh_hid },
200
{
M680X_INS_EORA
, ext_hid, inh_hid },
201
{
M680X_INS_ADCA
, ext_hid, inh_hid },
202
{
M680X_INS_ORA
, ext_hid, inh_hid },
203
{
M680X_INS_ADDA
, ext_hid, inh_hid },
204
{
M680X_INS_CMPX
, ext_hid, inh_hid },
205
{
M680X_INS_JSR
, ext_hid, inh_hid },
206
{
M680X_INS_LDX
, ext_hid, inh_hid },
207
{
M680X_INS_STX
, ext_hid, inh_hid },
208
// 0xCx, immediate instructions with register B,D,U
209
{
M680X_INS_SUBB
, imm8_hid, inh_hid },
210
{
M680X_INS_CMPB
, imm8_hid, inh_hid },
211
{
M680X_INS_SBCB
, imm8_hid, inh_hid },
212
{
M680X_INS_ADDD
, imm16_hid, inh_hid },
213
{
M680X_INS_ANDB
, imm8_hid, inh_hid },
214
{
M680X_INS_BITB
, imm8_hid, inh_hid },
215
{
M680X_INS_LDB
, imm8_hid, inh_hid },
216
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
217
{
M680X_INS_EORB
, imm8_hid, inh_hid },
218
{
M680X_INS_ADCB
, imm8_hid, inh_hid },
219
{
M680X_INS_ORB
, imm8_hid, inh_hid },
220
{
M680X_INS_ADDB
, imm8_hid, inh_hid },
221
{
M680X_INS_LDD
, imm16_hid, inh_hid },
222
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
223
{
M680X_INS_LDU
, imm16_hid, inh_hid },
224
{
M680X_INS_ILLGL
, illgl_hid, inh_hid },
225
// 0xDx direct instructions with register B,D,U
226
{
M680X_INS_SUBB
, dir_hid, inh_hid },
227
{
M680X_INS_CMPB
, dir_hid, inh_hid },
228
{
M680X_INS_SBCB
, dir_hid, inh_hid },
229
{
M680X_INS_ADDD
, dir_hid, inh_hid },
230
{
M680X_INS_ANDB
, dir_hid, inh_hid },
231
{
M680X_INS_BITB
, dir_hid, inh_hid },
232
{
M680X_INS_LDB
, dir_hid, inh_hid },
233
{
M680X_INS_STB
, dir_hid, inh_hid },
234
{
M680X_INS_EORB
, dir_hid, inh_hid },
235
{
M680X_INS_ADCB
, dir_hid, inh_hid },
236
{
M680X_INS_ORB
, dir_hid, inh_hid },
237
{
M680X_INS_ADDB
, dir_hid, inh_hid },
238
{
M680X_INS_LDD
, dir_hid, inh_hid },
239
{
M680X_INS_STD
, dir_hid, inh_hid },
240
{
M680X_INS_LDU
, dir_hid, inh_hid },
241
{
M680X_INS_STU
, dir_hid, inh_hid },
242
// 0xEx, indexed instruction with register B,D,U
243
{
M680X_INS_SUBB
, idx09_hid, inh_hid },
244
{
M680X_INS_CMPB
, idx09_hid, inh_hid },
245
{
M680X_INS_SBCB
, idx09_hid, inh_hid },
246
{
M680X_INS_ADDD
, idx09_hid, inh_hid },
247
{
M680X_INS_ANDB
, idx09_hid, inh_hid },
248
{
M680X_INS_BITB
, idx09_hid, inh_hid },
249
{
M680X_INS_LDB
, idx09_hid, inh_hid },
250
{
M680X_INS_STB
, idx09_hid, inh_hid },
251
{
M680X_INS_EORB
, idx09_hid, inh_hid },
252
{
M680X_INS_ADCB
, idx09_hid, inh_hid },
253
{
M680X_INS_ORB
, idx09_hid, inh_hid },
254
{
M680X_INS_ADDB
, idx09_hid, inh_hid },
255
{
M680X_INS_LDD
, idx09_hid, inh_hid },
256
{
M680X_INS_STD
, idx09_hid, inh_hid },
257
{
M680X_INS_LDU
, idx09_hid, inh_hid },
258
{
M680X_INS_STU
, idx09_hid, inh_hid },
259
// 0xFx, extended instructions with register B,D,U
260
{
M680X_INS_SUBB
, ext_hid, inh_hid },
261
{
M680X_INS_CMPB
, ext_hid, inh_hid },
262
{
M680X_INS_SBCB
, ext_hid, inh_hid },
263
{
M680X_INS_ADDD
, ext_hid, inh_hid },
264
{
M680X_INS_ANDB
, ext_hid, inh_hid },
265
{
M680X_INS_BITB
, ext_hid, inh_hid },
266
{
M680X_INS_LDB
, ext_hid, inh_hid },
267
{
M680X_INS_STB
, ext_hid, inh_hid },
268
{
M680X_INS_EORB
, ext_hid, inh_hid },
269
{
M680X_INS_ADCB
, ext_hid, inh_hid },
270
{
M680X_INS_ORB
, ext_hid, inh_hid },
271
{
M680X_INS_ADDB
, ext_hid, inh_hid },
272
{
M680X_INS_LDD
, ext_hid, inh_hid },
273
{
M680X_INS_STD
, ext_hid, inh_hid },
274
{
M680X_INS_LDU
, ext_hid, inh_hid },
275
{
M680X_INS_STU
, ext_hid, inh_hid },
276
};
277
278
// The following array has to be sorted by increasing
279
// opcodes. Otherwise the binary_search will fail.
280
//
281
// M6809 PAGE2 instructions (with prefix 0x10)
282
static
const
inst_pageX g_m6809_inst_page2_table[] = {
283
// 0x2x, relative long branch instructions
284
{ 0x21,
M680X_INS_LBRN
, rel16_hid, inh_hid },
285
{ 0x22,
M680X_INS_LBHI
, rel16_hid, inh_hid },
286
{ 0x23,
M680X_INS_LBLS
, rel16_hid, inh_hid },
287
{ 0x24,
M680X_INS_LBCC
, rel16_hid, inh_hid },
288
{ 0x25,
M680X_INS_LBCS
, rel16_hid, inh_hid },
289
{ 0x26,
M680X_INS_LBNE
, rel16_hid, inh_hid },
290
{ 0x27,
M680X_INS_LBEQ
, rel16_hid, inh_hid },
291
{ 0x28,
M680X_INS_LBVC
, rel16_hid, inh_hid },
292
{ 0x29,
M680X_INS_LBVS
, rel16_hid, inh_hid },
293
{ 0x2a,
M680X_INS_LBPL
, rel16_hid, inh_hid },
294
{ 0x2b,
M680X_INS_LBMI
, rel16_hid, inh_hid },
295
{ 0x2c,
M680X_INS_LBGE
, rel16_hid, inh_hid },
296
{ 0x2d,
M680X_INS_LBLT
, rel16_hid, inh_hid },
297
{ 0x2e,
M680X_INS_LBGT
, rel16_hid, inh_hid },
298
{ 0x2f,
M680X_INS_LBLE
, rel16_hid, inh_hid },
299
// 0x3x
300
{ 0x3f,
M680X_INS_SWI2
, inh_hid, inh_hid },
301
// 0x8x, immediate instructions with register D,Y
302
{ 0x83,
M680X_INS_CMPD
, imm16_hid, inh_hid },
303
{ 0x8c,
M680X_INS_CMPY
, imm16_hid, inh_hid },
304
{ 0x8e,
M680X_INS_LDY
, imm16_hid, inh_hid },
305
// 0x9x, direct instructions with register D,Y
306
{ 0x93,
M680X_INS_CMPD
, dir_hid, inh_hid },
307
{ 0x9c,
M680X_INS_CMPY
, dir_hid, inh_hid },
308
{ 0x9e,
M680X_INS_LDY
, dir_hid, inh_hid },
309
{ 0x9f,
M680X_INS_STY
, dir_hid, inh_hid },
310
// 0xAx, indexed instructions with register D,Y
311
{ 0xa3,
M680X_INS_CMPD
, idx09_hid, inh_hid },
312
{ 0xac,
M680X_INS_CMPY
, idx09_hid, inh_hid },
313
{ 0xae,
M680X_INS_LDY
, idx09_hid, inh_hid },
314
{ 0xaf,
M680X_INS_STY
, idx09_hid, inh_hid },
315
// 0xBx, extended instructions with register D,Y
316
{ 0xb3,
M680X_INS_CMPD
, ext_hid, inh_hid },
317
{ 0xbc,
M680X_INS_CMPY
, ext_hid, inh_hid },
318
{ 0xbe,
M680X_INS_LDY
, ext_hid, inh_hid },
319
{ 0xbf,
M680X_INS_STY
, ext_hid, inh_hid },
320
// 0xCx, immediate instructions with register S
321
{ 0xce,
M680X_INS_LDS
, imm16_hid, inh_hid },
322
// 0xDx, direct instructions with register S
323
{ 0xde,
M680X_INS_LDS
, dir_hid, inh_hid },
324
{ 0xdf,
M680X_INS_STS
, dir_hid, inh_hid },
325
// 0xEx, indexed instructions with register S
326
{ 0xee,
M680X_INS_LDS
, idx09_hid, inh_hid },
327
{ 0xef,
M680X_INS_STS
, idx09_hid, inh_hid },
328
// 0xFx, extended instructions with register S
329
{ 0xfe,
M680X_INS_LDS
, ext_hid, inh_hid },
330
{ 0xff,
M680X_INS_STS
, ext_hid, inh_hid },
331
};
332
333
// The following array has to be sorted by increasing
334
// opcodes. Otherwise the binary_search will fail.
335
//
336
// M6809 PAGE3 instructions (with prefix 0x11)
337
static
const
inst_pageX g_m6809_inst_page3_table[] = {
338
{ 0x3f,
M680X_INS_SWI3
, inh_hid, inh_hid },
339
// 0x8x, immediate instructions with register U,S
340
{ 0x83,
M680X_INS_CMPU
, imm16_hid, inh_hid },
341
{ 0x8c,
M680X_INS_CMPS
, imm16_hid, inh_hid },
342
// 0x9x, direct instructions with register U,S
343
{ 0x93,
M680X_INS_CMPU
, dir_hid, inh_hid },
344
{ 0x9c,
M680X_INS_CMPS
, dir_hid, inh_hid },
345
// 0xAx, indexed instructions with register U,S
346
{ 0xa3,
M680X_INS_CMPU
, idx09_hid, inh_hid },
347
{ 0xac,
M680X_INS_CMPS
, idx09_hid, inh_hid },
348
// 0xBx, extended instructions with register U,S
349
{ 0xb3,
M680X_INS_CMPU
, ext_hid, inh_hid },
350
{ 0xbc,
M680X_INS_CMPS
, ext_hid, inh_hid },
351
};
352
M680X_INS_ABX
@ M680X_INS_ABX
Definition:
m680x.h:175
M680X_INS_CMPA
@ M680X_INS_CMPA
Definition:
m680x.h:265
M680X_INS_BRA
@ M680X_INS_BRA
Definition:
m680x.h:241
M680X_INS_SWI
@ M680X_INS_SWI
Definition:
m680x.h:495
M680X_INS_LBNE
@ M680X_INS_LBNE
Definition:
m680x.h:356
M680X_INS_LSLB
@ M680X_INS_LSLB
Definition:
m680x.h:385
M680X_INS_LDB
@ M680X_INS_LDB
Definition:
m680x.h:366
M680X_INS_DECA
@ M680X_INS_DECA
Definition:
m680x.h:297
M680X_INS_ASR
@ M680X_INS_ASR
Definition:
m680x.h:203
M680X_INS_LBLE
@ M680X_INS_LBLE
Definition:
m680x.h:352
M680X_INS_LBCC
@ M680X_INS_LBCC
or LBHS
Definition:
m680x.h:346
M680X_INS_NEGA
@ M680X_INS_NEGA
Definition:
m680x.h:405
M680X_INS_ANDA
@ M680X_INS_ANDA
Definition:
m680x.h:194
M680X_INS_CMPX
@ M680X_INS_CMPX
Definition:
m680x.h:274
M680X_INS_EORA
@ M680X_INS_EORA
Definition:
m680x.h:321
M680X_INS_INC
@ M680X_INS_INC
Definition:
m680x.h:333
M680X_INS_BCS
@ M680X_INS_BCS
or BLO
Definition:
m680x.h:211
M680X_INS_BLT
@ M680X_INS_BLT
Definition:
m680x.h:232
M680X_INS_ROLA
@ M680X_INS_ROLA
Definition:
m680x.h:444
M680X_INS_SYNC
@ M680X_INS_SYNC
Definition:
m680x.h:498
M680X_INS_ADCB
@ M680X_INS_ADCB
Definition:
m680x.h:179
M680X_INS_BHI
@ M680X_INS_BHI
Definition:
m680x.h:219
M680X_INS_BNE
@ M680X_INS_BNE
Definition:
m680x.h:236
M680X_INS_TSTA
@ M680X_INS_TSTA
Definition:
m680x.h:512
M680X_INS_BGT
@ M680X_INS_BGT
Definition:
m680x.h:216
M680X_INS_NEG
@ M680X_INS_NEG
Definition:
m680x.h:404
M680X_INS_STS
@ M680X_INS_STS
Definition:
m680x.h:482
M680X_INS_LEAU
@ M680X_INS_LEAU
Definition:
m680x.h:380
M680X_INS_STB
@ M680X_INS_STB
Definition:
m680x.h:474
M680X_INS_SUBB
@ M680X_INS_SUBB
Definition:
m680x.h:489
M680X_INS_LBLT
@ M680X_INS_LBLT
Definition:
m680x.h:354
M680X_INS_LBRA
@ M680X_INS_LBRA
Definition:
m680x.h:358
M680X_INS_LDX
@ M680X_INS_LDX
Definition:
m680x.h:377
M680X_INS_CWAI
@ M680X_INS_CWAI
Definition:
m680x.h:289
M680X_INS_CMPS
@ M680X_INS_CMPS
Definition:
m680x.h:271
M680X_INS_BLS
@ M680X_INS_BLS
Definition:
m680x.h:231
M680X_INS_LBCS
@ M680X_INS_LBCS
or LBLO
Definition:
m680x.h:347
M680X_INS_ILLGL
@ M680X_INS_ILLGL
Definition:
m680x.h:332
M680X_INS_LBMI
@ M680X_INS_LBMI
Definition:
m680x.h:355
M680X_INS_LSRA
@ M680X_INS_LSRA
Definition:
m680x.h:389
M680X_INS_CLR
@ M680X_INS_CLR
Definition:
m680x.h:254
M680X_INS_DAA
@ M680X_INS_DAA
Definition:
m680x.h:290
M680X_INS_BMI
@ M680X_INS_BMI
Definition:
m680x.h:234
M680X_INS_BEQ
@ M680X_INS_BEQ
Definition:
m680x.h:213
M680X_INS_ORCC
@ M680X_INS_ORCC
Definition:
m680x.h:416
M680X_INS_CMPU
@ M680X_INS_CMPU
Definition:
m680x.h:272
M680X_INS_JMP
@ M680X_INS_JMP
Definition:
m680x.h:344
M680X_INS_SUBD
@ M680X_INS_SUBD
Definition:
m680x.h:490
M680X_INS_COM
@ M680X_INS_COM
Definition:
m680x.h:276
M680X_INS_ROR
@ M680X_INS_ROR
Definition:
m680x.h:449
M680X_INS_ADCA
@ M680X_INS_ADCA
Definition:
m680x.h:178
M680X_INS_BRN
@ M680X_INS_BRN
Definition:
m680x.h:242
M680X_INS_BPL
@ M680X_INS_BPL
Definition:
m680x.h:238
M680X_INS_LDY
@ M680X_INS_LDY
Definition:
m680x.h:378
M680X_INS_TSTB
@ M680X_INS_TSTB
Definition:
m680x.h:513
M680X_INS_LSR
@ M680X_INS_LSR
Definition:
m680x.h:388
M680X_INS_CMPD
@ M680X_INS_CMPD
Definition:
m680x.h:267
M680X_INS_INCA
@ M680X_INS_INCA
Definition:
m680x.h:334
M680X_INS_TFR
@ M680X_INS_TFR
Definition:
m680x.h:508
M680X_INS_TST
@ M680X_INS_TST
Definition:
m680x.h:511
M680X_INS_BVC
@ M680X_INS_BVC
Definition:
m680x.h:245
M680X_INS_LBSR
@ M680X_INS_LBSR
Definition:
m680x.h:360
M680X_INS_LDU
@ M680X_INS_LDU
Definition:
m680x.h:375
M680X_INS_LSLA
@ M680X_INS_LSLA
Definition:
m680x.h:384
M680X_INS_LBVS
@ M680X_INS_LBVS
Definition:
m680x.h:362
M680X_INS_PSHU
@ M680X_INS_PSHU
Definition:
m680x.h:426
M680X_INS_SEX
@ M680X_INS_SEX
Definition:
m680x.h:468
M680X_INS_ASRB
@ M680X_INS_ASRB
Definition:
m680x.h:205
M680X_INS_SBCA
@ M680X_INS_SBCA
Definition:
m680x.h:461
M680X_INS_SBCB
@ M680X_INS_SBCB
Definition:
m680x.h:462
M680X_INS_CLRA
@ M680X_INS_CLRA
Definition:
m680x.h:255
M680X_INS_ROLB
@ M680X_INS_ROLB
Definition:
m680x.h:445
M680X_INS_CMPY
@ M680X_INS_CMPY
Definition:
m680x.h:275
M680X_INS_CLRB
@ M680X_INS_CLRB
Definition:
m680x.h:256
M680X_INS_BLE
@ M680X_INS_BLE
Definition:
m680x.h:230
M680X_INS_LDD
@ M680X_INS_LDD
Definition:
m680x.h:368
M680X_INS_LBPL
@ M680X_INS_LBPL
Definition:
m680x.h:357
M680X_INS_LBGT
@ M680X_INS_LBGT
Definition:
m680x.h:350
M680X_INS_STU
@ M680X_INS_STU
Definition:
m680x.h:483
M680X_INS_INCB
@ M680X_INS_INCB
Definition:
m680x.h:335
M680X_INS_ORB
@ M680X_INS_ORB
Definition:
m680x.h:415
M680X_INS_LBGE
@ M680X_INS_LBGE
Definition:
m680x.h:349
M680X_INS_LDS
@ M680X_INS_LDS
Definition:
m680x.h:374
M680X_INS_SWI3
@ M680X_INS_SWI3
Definition:
m680x.h:497
M680X_INS_RORB
@ M680X_INS_RORB
Definition:
m680x.h:451
M680X_INS_NEGB
@ M680X_INS_NEGB
Definition:
m680x.h:406
M680X_INS_BCC
@ M680X_INS_BCC
or BHS
Definition:
m680x.h:209
M680X_INS_LEAS
@ M680X_INS_LEAS
Definition:
m680x.h:379
M680X_INS_PULS
@ M680X_INS_PULS
Definition:
m680x.h:435
M680X_INS_LBHI
@ M680X_INS_LBHI
Definition:
m680x.h:351
M680X_INS_EORB
@ M680X_INS_EORB
Definition:
m680x.h:322
M680X_INS_EXG
@ M680X_INS_EXG
Definition:
m680x.h:326
M680X_INS_RTS
@ M680X_INS_RTS
Definition:
m680x.h:458
M680X_INS_ROL
@ M680X_INS_ROL
Definition:
m680x.h:443
M680X_INS_LBLS
@ M680X_INS_LBLS
Definition:
m680x.h:353
M680X_INS_RORA
@ M680X_INS_RORA
Definition:
m680x.h:450
M680X_INS_NOP
@ M680X_INS_NOP
Definition:
m680x.h:409
M680X_INS_SUBA
@ M680X_INS_SUBA
Definition:
m680x.h:488
M680X_INS_LBRN
@ M680X_INS_LBRN
Definition:
m680x.h:359
M680X_INS_MUL
@ M680X_INS_MUL
Definition:
m680x.h:402
M680X_INS_DEC
@ M680X_INS_DEC
Definition:
m680x.h:296
M680X_INS_COMB
@ M680X_INS_COMB
Definition:
m680x.h:278
M680X_INS_ADDD
@ M680X_INS_ADDD
Definition:
m680x.h:185
M680X_INS_PULU
@ M680X_INS_PULU
Definition:
m680x.h:437
M680X_INS_ADDB
@ M680X_INS_ADDB
Definition:
m680x.h:184
M680X_INS_DECB
@ M680X_INS_DECB
Definition:
m680x.h:298
M680X_INS_ANDB
@ M680X_INS_ANDB
Definition:
m680x.h:195
M680X_INS_STA
@ M680X_INS_STA
Definition:
m680x.h:471
M680X_INS_STD
@ M680X_INS_STD
Definition:
m680x.h:476
M680X_INS_ADDA
@ M680X_INS_ADDA
Definition:
m680x.h:183
M680X_INS_PSHS
@ M680X_INS_PSHS
Definition:
m680x.h:424
M680X_INS_LSRB
@ M680X_INS_LSRB
Definition:
m680x.h:390
M680X_INS_LDA
@ M680X_INS_LDA
Definition:
m680x.h:363
M680X_INS_LBEQ
@ M680X_INS_LBEQ
Definition:
m680x.h:348
M680X_INS_STY
@ M680X_INS_STY
Definition:
m680x.h:486
M680X_INS_COMA
@ M680X_INS_COMA
Definition:
m680x.h:277
M680X_INS_LEAX
@ M680X_INS_LEAX
Definition:
m680x.h:381
M680X_INS_ANDCC
@ M680X_INS_ANDCC
Definition:
m680x.h:196
M680X_INS_CMPB
@ M680X_INS_CMPB
Definition:
m680x.h:266
M680X_INS_BSR
@ M680X_INS_BSR
Definition:
m680x.h:244
M680X_INS_LSL
@ M680X_INS_LSL
Definition:
m680x.h:383
M680X_INS_ORA
@ M680X_INS_ORA
Definition:
m680x.h:412
M680X_INS_BVS
@ M680X_INS_BVS
Definition:
m680x.h:246
M680X_INS_STX
@ M680X_INS_STX
Definition:
m680x.h:485
M680X_INS_BITB
@ M680X_INS_BITB
Definition:
m680x.h:227
M680X_INS_LBVC
@ M680X_INS_LBVC
Definition:
m680x.h:361
M680X_INS_SWI2
@ M680X_INS_SWI2
Definition:
m680x.h:496
M680X_INS_LEAY
@ M680X_INS_LEAY
Definition:
m680x.h:382
M680X_INS_BGE
@ M680X_INS_BGE
Definition:
m680x.h:214
M680X_INS_BITA
@ M680X_INS_BITA
Definition:
m680x.h:226
M680X_INS_RTI
@ M680X_INS_RTI
Definition:
m680x.h:457
M680X_INS_JSR
@ M680X_INS_JSR
Definition:
m680x.h:345
M680X_INS_ASRA
@ M680X_INS_ASRA
Definition:
m680x.h:204
subprojects
capstone-bundled
arch
M680X
m6809.inc
Generated by
1.9.1