Rizin
unix-like reverse engineering framework and cli tools
tms320c64x.py
Go to the documentation of this file.
1
# Capstone Python bindings, by Fotis Loukos <me@fotisl.com>
2
3
import
ctypes, copy
4
from
.tms320c64x_const
import
*
5
6
# define the API
7
class
TMS320C64xOpMem
(ctypes.Structure):
8
_fields_ = (
9
(
'base'
, ctypes.c_int),
10
(
'disp'
, ctypes.c_int),
11
(
'unit'
, ctypes.c_int),
12
(
'scaled'
, ctypes.c_int),
13
(
'disptype'
, ctypes.c_int),
14
(
'direction'
, ctypes.c_int),
15
(
'modify'
, ctypes.c_int),
16
)
17
18
class
TMS320C64xOpValue
(ctypes.Union):
19
_fields_ = (
20
(
'reg'
, ctypes.c_uint),
21
(
'imm'
, ctypes.c_int32),
22
(
'mem'
, TMS320C64xOpMem),
23
)
24
25
class
TMS320C64xCondition
(ctypes.Structure):
26
_fields_ = (
27
(
'reg'
, ctypes.c_uint),
28
(
'zero'
, ctypes.c_uint),
29
)
30
31
class
TMS320C64xFunctionalUnit
(ctypes.Structure):
32
_fields_ = (
33
(
'unit'
, ctypes.c_uint),
34
(
'side'
, ctypes.c_uint),
35
(
'crosspath'
, ctypes.c_uint),
36
)
37
38
class
TMS320C64xOp
(ctypes.Structure):
39
_fields_ = (
40
(
'type'
, ctypes.c_uint),
41
(
'value'
, TMS320C64xOpValue),
42
)
43
44
@property
45
def
imm
(self):
46
return
self.value.imm
47
48
@property
49
def
reg
(self):
50
return
self.value.reg
51
52
@property
53
def
mem
(self):
54
return
self.value.mem
55
56
class
CsTMS320C64x
(ctypes.Structure):
57
_fields_ = (
58
(
'op_count'
, ctypes.c_uint8),
59
(
'operands'
, TMS320C64xOp * 8),
60
(
'condition'
, TMS320C64xCondition),
61
(
'funit'
, TMS320C64xFunctionalUnit),
62
(
'parallel'
, ctypes.c_uint),
63
)
64
65
def
get_arch_info
(a):
66
return
(a.condition, a.funit, a.parallel, copy.deepcopy(a.operands[:a.op_count]))
capstone.tms320c64x.CsTMS320C64x
Definition:
tms320c64x.py:56
capstone.tms320c64x.TMS320C64xCondition
Definition:
tms320c64x.py:25
capstone.tms320c64x.TMS320C64xFunctionalUnit
Definition:
tms320c64x.py:31
capstone.tms320c64x.TMS320C64xOpMem
Definition:
tms320c64x.py:7
capstone.tms320c64x.TMS320C64xOpValue
Definition:
tms320c64x.py:18
capstone.tms320c64x.TMS320C64xOp
Definition:
tms320c64x.py:38
capstone.tms320c64x.TMS320C64xOp.reg
def reg(self)
Definition:
tms320c64x.py:49
capstone.tms320c64x.TMS320C64xOp.mem
def mem(self)
Definition:
tms320c64x.py:53
capstone.tms320c64x.TMS320C64xOp.imm
def imm(self)
Definition:
tms320c64x.py:45
capstone.tms320c64x.get_arch_info
def get_arch_info(a)
Definition:
tms320c64x.py:65
subprojects
capstone-bundled
bindings
python
capstone
tms320c64x.py
Generated by
1.9.1