BCHARMAssemblyInstructionsHolds an array of all of the assembly instructions, made available through a class instance reference.
This is the backing store of all assembly instructions.
val arm_assembly_instructions :
BCHARMTypes.arm_assembly_instructions_int Stdlib.refReturn a reference to the class wrapper of the array of assembly instructions.
val initialize_arm_instructions :
(string * BCHLibTypes.doubleword_int * BCHLibTypes.doubleword_int) list ->
unitCreate an array of the given size to hold the assembly instructions.
val initialize_arm_assembly_instructions :
(string * BCHLibTypes.doubleword_int * BCHLibTypes.doubleword_int) list ->
BCHLibTypes.data_block_int list ->
unitInitialize the instruction array with instructions
val set_data_references : BCHLibTypes.doubleword_int list -> unitReplace instructions with data blocks
val set_arm_assembly_instruction :
BCHARMTypes.arm_assembly_instruction_int ->
unitset_arm_assembly_instruction instr enters instr at the address obtained from instr#get_address in arm_assembly_instructions store. If the obtained address is out-of-range an error message is logged and the instruction is further ignored.
val get_arm_assembly_instruction :
BCHLibTypes.doubleword_int ->
BCHARMTypes.arm_assembly_instruction_resultget_arm_assembly_instruction a returns the assembly instruction at virtual address a. If a is out-of-range or if there is no instruction at a None is returned.
val get_next_valid_instruction_address :
BCHLibTypes.doubleword_int ->
BCHLibTypes.doubleword_int CHTraceResult.traceresultget_next_valid_instruction_address a returns the smallest address greater than a that is the address of a valid instruction, without intervening data blocks or jump tables. If a is out-of-range or no such address exists, None is returned.
val has_next_valid_instruction : BCHLibTypes.doubleword_int -> boolhas_next_valid_instruction a returns true if there is an instruction with address higher than a with a valid instruction, without intervening data blocks or jump tables.
val set_aggregate :
BCHLibTypes.doubleword_int ->
BCHARMTypes.arm_instruction_aggregate_int ->
unitrecords the aggregate in assembly_instructions and annotates the instructions that are part of the aggregate.
val has_aggregate : BCHLibTypes.doubleword_int -> boolhas_aggregate iaddr return true if an aggregate is registered at virtual address iaddr.
val get_aggregate :
BCHLibTypes.doubleword_int ->
BCHARMTypes.arm_instruction_aggregate_intget_aggregate iaddr returns the aggregate registered at virtual address iaddr.
raise BCH_failure if no aggregate is registered at iaddr.
val get_arm_jumptables :
unit ->
(BCHLibTypes.doubleword_int * BCHARMTypes.arm_jumptable_int) listval get_associated_test_instr :
BCHLibTypes.function_info_int ->
BCHLibTypes.ctxt_iaddress_t ->
(BCHLibTypes.location_int * BCHARMTypes.arm_assembly_instruction_int) optionget_associated_test_instr finfo iaddr returns the location and instruction that provides the test that is associated with the condition code of the instruction at address iaddr
If no test instruction is associated with the instruction at iaddr None is returned.