xref: /aosp_15_r20/external/capstone/bindings/ocaml/ppc.ml (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1*9a0e4156SSadaf Ebrahimi(* Capstone Disassembly Engine
2*9a0e4156SSadaf Ebrahimi * By Guillaume Jeanne <[email protected]>, 2014> *)
3*9a0e4156SSadaf Ebrahimi
4*9a0e4156SSadaf Ebrahimiopen Ppc_const
5*9a0e4156SSadaf Ebrahimi
6*9a0e4156SSadaf Ebrahimitype ppc_op_mem = {
7*9a0e4156SSadaf Ebrahimi	base: int;
8*9a0e4156SSadaf Ebrahimi	disp: int;
9*9a0e4156SSadaf Ebrahimi}
10*9a0e4156SSadaf Ebrahimi
11*9a0e4156SSadaf Ebrahimitype ppc_op_crx = {
12*9a0e4156SSadaf Ebrahimi	scale: int;
13*9a0e4156SSadaf Ebrahimi	reg: int;
14*9a0e4156SSadaf Ebrahimi	cond: int;
15*9a0e4156SSadaf Ebrahimi}
16*9a0e4156SSadaf Ebrahimi
17*9a0e4156SSadaf Ebrahimitype ppc_op_value =
18*9a0e4156SSadaf Ebrahimi	| PPC_OP_INVALID of int
19*9a0e4156SSadaf Ebrahimi	| PPC_OP_REG of int
20*9a0e4156SSadaf Ebrahimi	| PPC_OP_IMM of int
21*9a0e4156SSadaf Ebrahimi	| PPC_OP_MEM of ppc_op_mem
22*9a0e4156SSadaf Ebrahimi	| PPC_OP_CRX of ppc_op_crx
23*9a0e4156SSadaf Ebrahimi
24*9a0e4156SSadaf Ebrahimitype ppc_op = {
25*9a0e4156SSadaf Ebrahimi	value: ppc_op_value;
26*9a0e4156SSadaf Ebrahimi}
27*9a0e4156SSadaf Ebrahimi
28*9a0e4156SSadaf Ebrahimitype cs_ppc = {
29*9a0e4156SSadaf Ebrahimi	bc: int;
30*9a0e4156SSadaf Ebrahimi	bh: int;
31*9a0e4156SSadaf Ebrahimi	update_cr0: bool;
32*9a0e4156SSadaf Ebrahimi	operands: ppc_op array;
33*9a0e4156SSadaf Ebrahimi}
34*9a0e4156SSadaf Ebrahimi
35