Home | History | Annotate | Download | only in ocaml
      1 (* Capstone Disassembly Engine
      2  * By Nguyen Anh Quynh <aquynh (a] gmail.com>, 2013-2014 *)
      3 
      4 open X86_const
      5 
      6 (* architecture specific info of instruction *)
      7 type x86_op_mem = {
      8 	segment: int;
      9 	base: int;
     10 	index: int;
     11 	scale: int;
     12 	disp: int;
     13 }
     14 
     15 type x86_op_value =
     16 	| X86_OP_INVALID of int
     17 	| X86_OP_REG of int
     18 	| X86_OP_IMM of int
     19 	| X86_OP_FP of float
     20 	| X86_OP_MEM of x86_op_mem
     21 
     22 type x86_op = {
     23 	value: x86_op_value;
     24 	size: int;
     25 	avx_bcast: int;
     26 	avx_zero_opmask: int;
     27 }
     28 
     29 type cs_x86 = { 
     30 	prefix: int array;
     31 	opcode: int array;
     32 	rex: int;
     33 	addr_size: int;
     34 	modrm: int;
     35 	sib: int;
     36 	disp: int;
     37 	sib_index: int;
     38 	sib_scale: int;
     39 	sib_base: int;
     40 	sse_cc: int;
     41 	avx_cc: int;
     42 	avx_sae: int;
     43 	avx_rm: int;
     44 	operands: x86_op array;
     45 }
     46