xref: /aosp_15_r20/external/capstone/bindings/ocaml/m680x.ml (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1*9a0e4156SSadaf Ebrahimi(* Capstone Disassembly Engine
2*9a0e4156SSadaf Ebrahimi * M680X Backend by Wolfgang Schwotzer <[email protected]> 2017 *)
3*9a0e4156SSadaf Ebrahimi
4*9a0e4156SSadaf Ebrahimiopen M680x_const
5*9a0e4156SSadaf Ebrahimi
6*9a0e4156SSadaf Ebrahimi
7*9a0e4156SSadaf Ebrahimi(* architecture specific info of instruction *)
8*9a0e4156SSadaf Ebrahimitype m680x_op_idx = {
9*9a0e4156SSadaf Ebrahimi	base_reg: int;
10*9a0e4156SSadaf Ebrahimi	offset_reg: int;
11*9a0e4156SSadaf Ebrahimi	offset: int;
12*9a0e4156SSadaf Ebrahimi	offset_addr: int;
13*9a0e4156SSadaf Ebrahimi	offset_bits: int;
14*9a0e4156SSadaf Ebrahimi	inc_dec: int;
15*9a0e4156SSadaf Ebrahimi	flags: int;
16*9a0e4156SSadaf Ebrahimi}
17*9a0e4156SSadaf Ebrahimi
18*9a0e4156SSadaf Ebrahimitype m680x_op_rel = {
19*9a0e4156SSadaf Ebrahimi	addr_rel: int;
20*9a0e4156SSadaf Ebrahimi	offset: int;
21*9a0e4156SSadaf Ebrahimi}
22*9a0e4156SSadaf Ebrahimi
23*9a0e4156SSadaf Ebrahimitype m680x_op_ext = {
24*9a0e4156SSadaf Ebrahimi	addr_ext: int;
25*9a0e4156SSadaf Ebrahimi	indirect: bool;
26*9a0e4156SSadaf Ebrahimi}
27*9a0e4156SSadaf Ebrahimi
28*9a0e4156SSadaf Ebrahimitype m680x_op_value =
29*9a0e4156SSadaf Ebrahimi	| M680X_OP_INVALID of int
30*9a0e4156SSadaf Ebrahimi	| M680X_OP_IMMEDIATE of int
31*9a0e4156SSadaf Ebrahimi	| M680X_OP_REGISTER of int
32*9a0e4156SSadaf Ebrahimi	| M680X_OP_INDEXED of m680x_op_idx
33*9a0e4156SSadaf Ebrahimi	| M680X_OP_RELATIVE of m680x_op_rel
34*9a0e4156SSadaf Ebrahimi	| M680X_OP_EXTENDED of m680x_op_ext
35*9a0e4156SSadaf Ebrahimi	| M680X_OP_DIRECT of int
36*9a0e4156SSadaf Ebrahimi	| M680X_OP_CONSTANT of int
37*9a0e4156SSadaf Ebrahimi
38*9a0e4156SSadaf Ebrahimitype m680x_op = {
39*9a0e4156SSadaf Ebrahimi	value: m680x_op_value;
40*9a0e4156SSadaf Ebrahimi	size: int;
41*9a0e4156SSadaf Ebrahimi	access: int;
42*9a0e4156SSadaf Ebrahimi}
43*9a0e4156SSadaf Ebrahimi
44*9a0e4156SSadaf Ebrahimitype cs_m680x = {
45*9a0e4156SSadaf Ebrahimi	flags: int;
46*9a0e4156SSadaf Ebrahimi	operands: m680x_op array;
47*9a0e4156SSadaf Ebrahimi}
48*9a0e4156SSadaf Ebrahimi
49