Xed.DecodedInstSourceinclude module type of struct include Bind.DecodedInst endtype -'perm t =
(Xedbindings_bind.Bind.Types.decoded_inst Ctypes.abstract, 'perm)
Xedbindings_bind.Bind.Ptr.tval uninit :
unit ->
(Xedbindings_bind.Bind.Types.decoded_inst Ctypes.abstract,
[ `Read | `Write ])
Xedbindings_bind.Bind.Ptr.tval conditionally_writes_registers :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
boolval get_base_reg :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
Xedbindings_bind.XBEnums.regval get_branch_displacement :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int64.tval get_branch_displacement_width :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
intval get_branch_displacement_width_bits :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
intval get_category :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.categoryval get_extension :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.extensionval get_iclass :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.iclassval get_iform_enum :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.iformval get_index_reg :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
Xedbindings_bind.XBEnums.regval get_input_chip :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.chipval get_isa_set :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.isa_setval get_memop_address_width :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
intval get_memory_displacement :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
Signed.Int64.tval get_memory_displacement_width :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
intval get_memory_displacement_width_bits :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
intval get_memory_operand_length :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
intval get_reg :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.operand ->
Xedbindings_bind.XBEnums.regval get_rflags_info :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
[ `Read ] Xedbindings_bind.Bind.Types.simple_flag_ptrval get_seg_reg :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
Xedbindings_bind.XBEnums.regval get_signed_immediate :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int32.tval get_stack_address_mode_bits :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
intval get_unsigned_immediate :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Unsigned.UInt64.tval get_user_data :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Unsigned.UInt64.tval has_default_flags_values :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
boolval inst :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
[ `Read ] Xedbindings_bind.Bind.Types.inst_ptrval is_broadcast_instruction :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
boolval masked_vector_operation :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
boolval number_of_memory_operands :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
intval operand_action :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
Xedbindings_bind.XBEnums.operand_actionval operand_element_size_bits :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
intval operand_element_type :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
Xedbindings_bind.XBEnums.operand_element_typeval operand_length_bits :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
intval operands :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
[ `Read | `Write ] Xedbindings_bind.Bind.Types.operand_values_ptrval operands_const :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
[ `Read ] Xedbindings_bind.Bind.Types.operand_values_ptrval set_branch_displacement :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int64.t ->
int ->
unitval set_branch_displacement_bits :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int64.t ->
int ->
unitval set_immediate_signed :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int32.t ->
int ->
unitval set_immediate_signed_bits :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int32.t ->
int ->
unitval set_immediate_unsigned :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Unsigned.UInt64.t ->
int ->
unitval set_immediate_unsigned_bits :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Unsigned.UInt64.t ->
int ->
unitval set_input_chip :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.chip ->
unitval set_memory_displacement :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int64.t ->
int ->
unitval set_memory_displacement_bits :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Signed.Int64.t ->
int ->
unitval set_mode :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.machine_mode ->
Xedbindings_bind.XBEnums.address_width ->
unitval set_scale :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
int ->
unitval set_user_data :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Unsigned.UInt64.t ->
unitval valid_for_chip :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.chip ->
boolval valid_for_features :
[> `Read ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
[> `Read ] Xedbindings_bind.Bind.Types.chip_features_ptr ->
boolval zero_keep_mode_from_operands :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
[> `Read ] Xedbindings_bind.Bind.Types.operand_values_ptr ->
unitval zero_set_mode :
[> `Read | `Write ] Xedbindings_bind.Bind.Types.decoded_inst_ptr ->
[> `Read ] Xedbindings_bind.Bind.Types.state_ptr ->
unitval init :
[> `Read ] Xedbindings_bind.Types_generated.state_ptr ->
(Xedbindings_bind.Types_generated.decoded_inst Ctypes.abstract,
[ `Read | `Write ])
Xedbindings_bind.Types_generated.Ptr.tval dump_xed_format :
[> `Read ] Xedbindings_bind.Types_generated.decoded_inst_ptr ->
Unsigned.UInt64.t ->
stringval decode :
([> `Read | `Write ] as 'a) Bind.Types.decoded_inst_ptr ->
?features:[> `Read | `Write ] Bind.Types.chip_features_ptr ->
string ->
('a Bind.Types.decoded_inst_ptr, Xedbindings_bind.XBEnums.error) resultAs with the XED C library, running this more than once without using one of the `zero_` functions first will result in an error. Note that for basic usage, you can (and should) use Xed.decode to both `init` & `decode` at the same time.
val ild_decode :
([> `Read | `Write ] as 'a) Bind.Types.decoded_inst_ptr ->
string ->
('a Bind.Types.decoded_inst_ptr, Xedbindings_bind.XBEnums.error) resultval get_attribute :
[> `Read ] Xedbindings_bind.Types_generated.decoded_inst_ptr ->
Xedbindings_bind.XBEnums.attribute ->
boolval get_immediate_is_signed :
[> `Read ] Xedbindings_bind.Types_generated.decoded_inst_ptr ->
boolval format :
?address_with_names:bool ->
?xml_a:bool ->
?xml_f:bool ->
?omit_unit_scale:bool ->
?no_ext_signed_imm:bool ->
?curly_mask_omit_k0:bool ->
?lowercase_hex:bool ->
?positive_mem_disp:bool ->
?syntax:Enum.syntax ->
?symbolizer:??? ->
[> `Read ] t ->
int64 ->
stringIt's undefined exactly what format you get from to_string. Currently, it assumes address 0 and formats in intel syntax.
val get_default_flags_values :
[> `Read ] Xedbindings_bind.Types_generated.decoded_inst_ptr ->
FlagDFV.t option