Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace 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
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
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
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
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
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
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
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
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
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
grpc
third_party
bloaty
third_party
capstone
arch
M680X
M680XDisassemblerInternals.h
Go to the documentation of this file.
1
/* Capstone Disassembly Engine */
2
/* M680X Backend by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net> 2017 */
3
4
#ifndef CS_M680XDISASSEMBLERINTERNALS_H
5
#define CS_M680XDISASSEMBLERINTERNALS_H
6
7
#include "../../MCInst.h"
8
#include "../../include/capstone/m680x.h"
9
10
typedef
enum
e_cpu_type
{
11
M680X_CPU_TYPE_INVALID
,
12
M680X_CPU_TYPE_6301
,
// M680X Hitachi HD6301,HD6303 mode
13
M680X_CPU_TYPE_6309
,
// M680X Hitachi HD6309 mode
14
M680X_CPU_TYPE_6800
,
// M680X Motorola 6800,6802 mode
15
M680X_CPU_TYPE_6801
,
// M680X Motorola 6801,6803 mode
16
M680X_CPU_TYPE_6805
,
// M680X Motorola/Freescale M68HC05 mode
17
M680X_CPU_TYPE_6808
,
// M680X Motorola/Freescale M68HC08 mode
18
M680X_CPU_TYPE_6809
,
// M680X Motorola 6809 mode
19
M680X_CPU_TYPE_6811
,
// M680X Motorola/Freescale M68HC11 mode
20
M680X_CPU_TYPE_CPU12
,
// M680X Motorola/Freescale CPU12 mode
21
// used on M68HC12/HCS12
22
M680X_CPU_TYPE_HCS08
,
// M680X Freescale HCS08 mode
23
M680X_CPU_TYPE_ENDING
,
24
}
e_cpu_type
;
25
26
struct
inst_page1;
27
struct
inst_pageX;
28
29
typedef
struct
{
30
const
struct
inst_page1 *
inst_page1_table
;
31
const
struct
inst_pageX *inst_overlay_table[2];
32
size_t
overlay_table_size[2];
33
uint8_t
pageX_prefix[3];
34
const
struct
inst_pageX *inst_pageX_table[3];
35
size_t
pageX_table_size[3];
36
const
uint8_t
*
reg_byte_size
;
37
const
bool
*
tfr_reg_valid
;
38
m680x_insn
insn_cc_not_modified[2];
39
}
cpu_tables
;
40
41
/* Private, For internal use only */
42
typedef
struct
m680x_info
{
43
const
uint8_t
*
code
;
// code buffer
44
uint32_t
size
;
// byte size of code
45
uint16_t
offset
;
// address offset of first byte in code buffer
46
e_cpu_type
cpu_type
;
// The CPU type to be used for disassembling
47
cs_m680x
m680x
;
// M680X specific properties
48
const
cpu_tables
*
cpu
;
49
m680x_insn
insn
;
// Instruction ID
50
uint8_t
insn_size
;
// byte size of instruction
51
}
m680x_info
;
52
53
extern
cs_err
M680X_disassembler_init
(
cs_struct
*ud);
54
extern
cs_err
M680X_instprinter_init
(
cs_struct
*ud);
55
56
#endif
57
M680X_CPU_TYPE_6811
@ M680X_CPU_TYPE_6811
Definition:
M680XDisassemblerInternals.h:19
m680x_info::cpu_type
e_cpu_type cpu_type
Definition:
M680XDisassemblerInternals.h:46
cpu_tables::inst_page1_table
const struct inst_page1 * inst_page1_table
Definition:
M680XDisassemblerInternals.h:30
M680X_instprinter_init
cs_err M680X_instprinter_init(cs_struct *ud)
uint16_t
unsigned short uint16_t
Definition:
stdint-msvc2008.h:79
cpu_tables::tfr_reg_valid
const bool * tfr_reg_valid
Definition:
M680XDisassemblerInternals.h:37
M680X_CPU_TYPE_6809
@ M680X_CPU_TYPE_6809
Definition:
M680XDisassemblerInternals.h:18
m680x_insn
m680x_insn
M680X instruction IDs.
Definition:
m680x.h:172
m680x_info::code
const uint8_t * code
Definition:
M680XDisassemblerInternals.h:43
M680X_CPU_TYPE_ENDING
@ M680X_CPU_TYPE_ENDING
Definition:
M680XDisassemblerInternals.h:23
uint8_t
unsigned char uint8_t
Definition:
stdint-msvc2008.h:78
M680X_CPU_TYPE_CPU12
@ M680X_CPU_TYPE_CPU12
Definition:
M680XDisassemblerInternals.h:20
e_cpu_type
e_cpu_type
Definition:
M680XDisassemblerInternals.h:10
m680x_info::insn_size
uint8_t insn_size
Definition:
M680XDisassemblerInternals.h:50
m680x_info
Definition:
M680XDisassemblerInternals.h:42
uint32_t
unsigned int uint32_t
Definition:
stdint-msvc2008.h:80
cs_struct
Definition:
cs_priv.h:51
M680X_CPU_TYPE_INVALID
@ M680X_CPU_TYPE_INVALID
Definition:
M680XDisassemblerInternals.h:11
M680X_CPU_TYPE_6808
@ M680X_CPU_TYPE_6808
Definition:
M680XDisassemblerInternals.h:17
M680X_CPU_TYPE_6805
@ M680X_CPU_TYPE_6805
Definition:
M680XDisassemblerInternals.h:16
M680X_CPU_TYPE_6801
@ M680X_CPU_TYPE_6801
Definition:
M680XDisassemblerInternals.h:15
cs_m680x
The M680X instruction and it's operands.
Definition:
m680x.h:165
m680x_info::insn
m680x_insn insn
Definition:
M680XDisassemblerInternals.h:49
m680x_info::cpu
const cpu_tables * cpu
Definition:
M680XDisassemblerInternals.h:48
cpu_tables::reg_byte_size
const uint8_t * reg_byte_size
Definition:
M680XDisassemblerInternals.h:36
M680X_CPU_TYPE_HCS08
@ M680X_CPU_TYPE_HCS08
Definition:
M680XDisassemblerInternals.h:22
M680X_CPU_TYPE_6800
@ M680X_CPU_TYPE_6800
Definition:
M680XDisassemblerInternals.h:14
M680X_CPU_TYPE_6301
@ M680X_CPU_TYPE_6301
Definition:
M680XDisassemblerInternals.h:12
cpu_tables
Definition:
M680XDisassemblerInternals.h:29
M680X_disassembler_init
cs_err M680X_disassembler_init(cs_struct *ud)
m680x_info::m680x
cs_m680x m680x
Definition:
M680XDisassemblerInternals.h:47
M680X_CPU_TYPE_6309
@ M680X_CPU_TYPE_6309
Definition:
M680XDisassemblerInternals.h:13
m680x_info::offset
uint16_t offset
Definition:
M680XDisassemblerInternals.h:45
m680x_info::size
uint32_t size
Definition:
M680XDisassemblerInternals.h:44
m680x_info
struct m680x_info m680x_info
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:30