File: arm64.ml

package info (click to toggle)
capstone 5.0.7-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,212 kB
  • sloc: ansic: 96,103; cpp: 67,489; cs: 29,510; python: 25,829; pascal: 24,412; java: 15,582; ml: 14,473; makefile: 1,274; sh: 479; ruby: 386
file content (45 lines) | stat: -rw-r--r-- 820 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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;
}