package binsec

  1. Overview
  2. Docs

doc/binsec_isa_x86_32/Binsec_isa_x86_32/X86Util/index.html

Module Binsec_isa_x86_32.X86UtilSource

X86 utility functions

Sourceval bitsize_of_xmm_mm : X86Types.xmm_mm -> int
Sourceval bytesize_of_xmm_mm : X86Types.xmm_mm -> int
Sourceval xmm_reg_to_string : X86Types.xmm_reg -> string
Sourceval xmm_reg_to_mm_reg : X86Types.xmm_reg -> X86Types.mmx_reg
Sourceval reg8_to_string : X86Types.reg8 -> string
Sourceval reg8_to_int : X86Types.reg8 -> int
Sourceval reg16_to_string : X86Types.reg16 -> string
Sourceval reg16_to_reg32 : X86Types.reg16 -> X86Types.reg32
Sourceval reg32_to_string : X86Types.reg32 -> string
Sourceval reg32_to_string_8 : X86Types.reg32 -> string
Sourceval reg32_to_string_16 : X86Types.reg32 -> string
Sourceval mm_reg_to_string : X86Types.mmx_reg -> string
Sourceval int_to_reg32 : int -> X86Types.reg32
Sourceval segment_reg_to_string : X86Types.segment_reg -> string
Sourceval segment_of_string : string -> X86Types.segment_reg option

segment_of_string s returns the Some segment_reg if s is a valid segment name lie "fs" or "gs", None otherwise

A valid name is the 2 letters string representation of the algebraic data type X86Types.segment_reg.

Sourceval segments : X86Types.segment_reg list

The list of of possible segement registers

Sourceval int_to_segment_reg : int -> X86Types.segment_reg
Sourceval float_reg_to_string : X86Types.float_reg -> string
Sourceval int_to_float_reg : int -> X86Types.float_reg
Sourceval mmx_reg_to_string : X86Types.mmx_reg -> string
Sourceval int_to_mmx_reg : int -> X86Types.mmx_reg
Sourceval int_to_xmm_reg : int -> X86Types.xmm_reg
Sourceval control_reg_to_string : X86Types.control_reg -> string
Sourceval int_to_control_reg : int -> X86Types.control_reg
Sourceval debug_reg_to_string : X86Types.debug_reg -> string
Sourceval int_to_debug_reg : int -> X86Types.debug_reg
Sourceval test_reg_to_string : X86Types.test_reg -> string
Sourceval int_to_test_reg : int -> X86Types.test_reg
Sourceval flag_to_string : X86Types.flag -> string
Sourceval flag_to_offset : X86Types.flag -> int
Sourceval cc_to_string : X86Types.cc -> string
Sourceval int_to_cc : int -> X86Types.cc
Sourceval condition_to_string : X86Types.condition -> string
Sourceval int_to_condition : int -> X86Types.condition
Sourceval sse_to_string : X86Types.sse -> string
Sourceval int_to_sse : int -> X86Types.sse
Sourceval scale_to_size : X86Types.scale -> int
Sourceval scale_to_string : X86Types.scale -> string
Sourceval int_to_scale : int -> X86Types.scale
Sourceval arith_op_to_string : X86Types.arith_op -> string
Sourceval int_to_arith_op : int -> X86Types.arith_op
Sourceval shift_op_to_string : X86Types.shift_op -> string
Sourceval rotate_op_to_string : X86Types.rotate_op -> string
Sourceval shiftd_op_to_string : X86Types.shiftd_op -> string
Sourceval int_to_rotate_op : int -> X86Types.rotate_op
Sourceval int_to_shift_op : int -> X86Types.shift_op
Sourceval mk_address : ?address_mode:X86Types.address_size_mode -> ?address_base:X86Types.reg32 option -> ?address_index:(X86Types.scale * X86Types.reg32) option -> int -> 'a X86Types.genop

Default values are:

  • address_mode: A32
  • address_base: None
  • address_index: None
Sourceval mk_address_64 : ?address_mode:X86Types.address_size_mode -> ?address_base:X86Types.reg32 option -> ?address_index:(X86Types.scale * X86Types.reg32) option -> int64 -> 'a X86Types.genop
Sourceval peek_spare : int Binsec_kernel.Reader.t -> int
Sourceval read_rm8_with_spare : int Binsec_kernel.Reader.t -> X86Types.reg8 X86Types.genop * int
Sourceval read_rm16_with_spare : int Binsec_kernel.Reader.t -> X86Types.reg16 X86Types.genop * int
Sourceval reg_to_extract : string -> string * int * int
Sourceval string_of_register_restrict : string -> int -> int -> string
Sourceval get_flag_value : X86Types.flag -> int64 -> int64
Sourceval switch_default_data_mode : X86Types.mode -> X86Types.mode

Handle 0x66 prefix byte

Handle 0x67 prefix byte