diff options
Diffstat (limited to 'capstone/bindings/ocaml/arm64.ml')
-rw-r--r-- | capstone/bindings/ocaml/arm64.ml | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/capstone/bindings/ocaml/arm64.ml b/capstone/bindings/ocaml/arm64.ml new file mode 100644 index 000000000..20d7030c8 --- /dev/null +++ b/capstone/bindings/ocaml/arm64.ml @@ -0,0 +1,45 @@ +(* Capstone Disassembly Engine + * By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 *) + +open Arm64_const + +(* architecture specific info of instruction *) +type arm64_op_shift = { + shift_type: int; + shift_value: int; +} + +type arm64_op_mem = { + base: int; + index: int; + disp: int +} + +type arm64_op_value = + | ARM64_OP_INVALID of int + | ARM64_OP_REG of int + | ARM64_OP_CIMM of int + | ARM64_OP_IMM of int + | ARM64_OP_FP of float + | ARM64_OP_MEM of arm64_op_mem + | ARM64_OP_REG_MRS of int + | ARM64_OP_REG_MSR of int + | ARM64_OP_PSTATE of int + | ARM64_OP_SYS of int + | ARM64_OP_PREFETCH of int + | ARM64_OP_BARRIER of int + +type arm64_op = { + vector_index: int; + vas: int; + shift: arm64_op_shift; + ext: int; + value: arm64_op_value; +} + +type cs_arm64 = { + cc: int; + update_flags: bool; + writeback: bool; + operands: arm64_op array; +} |