Binsec.X86UtilX86 utility functions
val bitsize_of_xmm_mm : X86Types.xmm_mm -> intval bytesize_of_xmm_mm : X86Types.xmm_mm -> intval xmm_reg_to_string : X86Types.xmm_reg -> stringval xmm_reg_to_mm_reg : X86Types.xmm_reg -> X86Types.mmx_regval bitsize_of_simd_size : X86Types.simd_size -> Size.Bit.tval bytesize_of_simd_size : X86Types.simd_size -> Size.Byte.tval bytesize_of_szmode : X86Types.sizeMode -> Size.Byte.tval bitsize_of_szmode : X86Types.sizeMode -> Size.Bit.tval bytesize_of_mode : X86Types.mode -> Size.Byte.tval bitsize_of_mode : X86Types.mode -> Size.Bit.tval bytesize_of_address_mode : X86Types.address_size_mode -> Size.Byte.tval bitsize_of_address_mode : X86Types.address_size_mode -> Size.Bit.tval reg8_to_string : X86Types.reg8 -> stringval reg8_to_int : X86Types.reg8 -> intval reg16_to_string : X86Types.reg16 -> stringval reg16_to_reg32 : X86Types.reg16 -> X86Types.reg32val reg32_to_string : X86Types.reg32 -> stringval reg32_to_string_8 : X86Types.reg32 -> stringval reg32_to_string_16 : X86Types.reg32 -> stringval mm_reg_to_string : X86Types.mmx_reg -> stringval int_to_reg32 : int -> X86Types.reg32val segment_reg_to_string : X86Types.segment_reg -> stringval segment_of_string : string -> X86Types.segment_reg optionsegment_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.
val segments : X86Types.segment_reg listThe list of of possible segement registers
val int_to_segment_reg : int -> X86Types.segment_regval float_reg_to_string : X86Types.float_reg -> stringval int_to_float_reg : int -> X86Types.float_regval mmx_reg_to_string : X86Types.mmx_reg -> stringval int_to_mmx_reg : int -> X86Types.mmx_regval int_to_xmm_reg : int -> X86Types.xmm_regval control_reg_to_string : X86Types.control_reg -> stringval int_to_control_reg : int -> X86Types.control_regval debug_reg_to_string : X86Types.debug_reg -> stringval int_to_debug_reg : int -> X86Types.debug_regval test_reg_to_string : X86Types.test_reg -> stringval int_to_test_reg : int -> X86Types.test_regval flag_to_string : X86Types.flag -> stringval flag_to_offset : X86Types.flag -> intval cc_to_string : X86Types.cc -> stringval int_to_cc : int -> X86Types.ccval condition_to_string : X86Types.condition -> stringval int_to_condition : int -> X86Types.conditionval sse_to_string : X86Types.sse -> stringval int_to_sse : int -> X86Types.sseval scale_to_size : X86Types.scale -> intval scale_to_string : X86Types.scale -> stringval int_to_scale : int -> X86Types.scaleval arith_op_to_string : X86Types.arith_op -> stringval int_to_arith_op : int -> X86Types.arith_opval shift_op_to_string : X86Types.shift_op -> stringval rotate_op_to_string : X86Types.rotate_op -> stringval shiftd_op_to_string : X86Types.shiftd_op -> stringval int_to_rotate_op : int -> X86Types.rotate_opval int_to_shift_op : int -> X86Types.shift_opval mk_address :
?address_mode:X86Types.address_size_mode ->
?address_base:X86Types.reg32 option ->
?address_index:(X86Types.scale * X86Types.reg32) option ->
int ->
'a X86Types.genopDefault values are:
address_mode: A32address_base: Noneaddress_index: Noneval peek_spare : Lreader.t -> intval read_modrm :
X86Types.address_size_mode ->
Lreader.t ->
X86Types.reg32 X86Types.genop * intval read_modrm_xmm :
X86Types.address_size_mode ->
Lreader.t ->
X86Types.xmm_reg X86Types.genop * intval read_rm8_with_spare : Lreader.t -> X86Types.reg8 X86Types.genop * intval read_rm16_with_spare : Lreader.t -> X86Types.reg16 X86Types.genop * intval get_flag_value : X86Types.flag -> int64 -> int64val switch_default_data_mode : X86Types.mode -> X86Types.modeHandle 0x66 prefix byte
val switch_address_mode :
X86Types.address_size_mode ->
X86Types.address_size_modeHandle 0x67 prefix byte