BCHMIPSTypes
type mips_instr_format_t =
| SyscallType of int
| RSyncType of int * int * int * int
| RBreakType of int * int * int
| RType of int * int * int * int * int * int
| R2Type of int * int * int * int * int * int
| R3Type of int * int * int * int * int * int
| IType of int * int * int * int
| JType of int * int
| FPMCType of int * int * int * int * int * int * int * int
| FPRType of int * int * int * int * int * int
| FPRIType of int * int * int * int * int
| FPCompareType of int * int * int * int * int * int
| FPICCType of int * int * int * int * int * int
| FormatUnknown of int * int
type mips_operand_kind_t =
| MIPSReg of BCHLibTypes.mips_reg_t
| MIPSSpecialReg of BCHLibTypes.mips_special_reg_t
| MIPSFPReg of int
| MIPSIndReg of BCHLibTypes.mips_reg_t * CHNumerical.numerical_t
| MIPSAbsolute of BCHLibTypes.doubleword_int
| MIPSImmediate of BCHLibTypes.immediate_int
class type mips_operand_int = object ... end
type mips_opcode_t =
| Add of mips_operand_int * mips_operand_int * mips_operand_int
| AddImmediate of mips_operand_int * mips_operand_int * mips_operand_int
| AddImmediateUnsigned of mips_operand_int * mips_operand_int * mips_operand_int
| AddUpperImmediate of mips_operand_int * mips_operand_int * mips_operand_int
| AddUnsigned of mips_operand_int * mips_operand_int * mips_operand_int
| And of mips_operand_int * mips_operand_int * mips_operand_int
| AndImmediate of mips_operand_int * mips_operand_int * mips_operand_int
| Branch of mips_operand_int
| BranchEqual of mips_operand_int * mips_operand_int * mips_operand_int
| BranchEqualLikely of mips_operand_int * mips_operand_int * mips_operand_int
| BranchFPFalse of int * mips_operand_int
| BranchFPFalseLikely of int * mips_operand_int
| BranchFPTrue of int * mips_operand_int
| BranchFPTrueLikely of int * mips_operand_int
| BranchGEZero of mips_operand_int * mips_operand_int
| BranchGEZeroLikely of mips_operand_int * mips_operand_int
| BranchGEZeroLink of mips_operand_int * mips_operand_int
| BranchGTZero of mips_operand_int * mips_operand_int
| BranchGTZeroLikely of mips_operand_int * mips_operand_int
| BranchLEZero of mips_operand_int * mips_operand_int
| BranchLEZeroLikely of mips_operand_int * mips_operand_int
| BranchLink of mips_operand_int
| BranchLTZero of mips_operand_int * mips_operand_int
| BranchLTZeroLikely of mips_operand_int * mips_operand_int
| BranchLTZeroLink of mips_operand_int * mips_operand_int
| BranchNotEqual of mips_operand_int * mips_operand_int * mips_operand_int
| BranchNotEqualLikely of mips_operand_int * mips_operand_int * mips_operand_int
| Break of int
| ControlWordFromFP of mips_operand_int * mips_operand_int
| ControlWordToFP of mips_operand_int * mips_operand_int
| CountLeadingZeros of mips_operand_int * mips_operand_int
| DivideWord of mips_operand_int
* mips_operand_int
* mips_operand_int
* mips_operand_int
| DivideUnsignedWord of mips_operand_int
* mips_operand_int
* mips_operand_int
* mips_operand_int
| ExtractBitField of mips_operand_int * mips_operand_int * int * int
| InsertBitField of mips_operand_int * mips_operand_int * int * int
| FPAbsfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPAddfmt of mips_fp_format_t
* mips_operand_int
* mips_operand_int
* mips_operand_int
| FPCeilLfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPCeilWfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPCompare of mips_fp_format_t
* int
* int
* int
* mips_operand_int
* mips_operand_int
| FPCVTDfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPCVTLfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPCVTSfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPCVTSPfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPCVTWfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPDivfmt of mips_fp_format_t
* mips_operand_int
* mips_operand_int
* mips_operand_int
| FPFloorLfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPFloorWfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPRoundLfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPMovfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPMulfmt of mips_fp_format_t
* mips_operand_int
* mips_operand_int
* mips_operand_int
| FPNegfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPRoundWfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPRSqrtfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPSqrtfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPSubfmt of mips_fp_format_t
* mips_operand_int
* mips_operand_int
* mips_operand_int
| FPTruncLfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| FPTruncWfmt of mips_fp_format_t * mips_operand_int * mips_operand_int
| Jump of mips_operand_int
| JumpLink of mips_operand_int
| JumpLinkRegister of mips_operand_int * mips_operand_int
| JumpRegister of mips_operand_int
| LoadByte of mips_operand_int * mips_operand_int
| LoadByteUnsigned of mips_operand_int * mips_operand_int
| LoadDoublewordToFP of mips_operand_int * mips_operand_int
| LoadHalfWord of mips_operand_int * mips_operand_int
| LoadHalfWordUnsigned of mips_operand_int * mips_operand_int
| LoadImmediate of mips_operand_int * mips_operand_int
| LoadLinkedWord of mips_operand_int * mips_operand_int
| LoadUpperImmediate of mips_operand_int * mips_operand_int
| LoadWord of mips_operand_int * mips_operand_int
| LoadWordFP of mips_operand_int * mips_operand_int
| LoadWordLeft of mips_operand_int * mips_operand_int
| LoadWordRight of mips_operand_int * mips_operand_int
| MoveConditionalNotZero of mips_operand_int
* mips_operand_int
* mips_operand_int
| MoveConditionalZero of mips_operand_int * mips_operand_int * mips_operand_int
| MovF of int * mips_operand_int * mips_operand_int
| MovT of int * mips_operand_int * mips_operand_int
| Move of mips_operand_int * mips_operand_int
| MoveFromHi of mips_operand_int * mips_operand_int
| MoveToHi of mips_operand_int * mips_operand_int
| MoveFromLo of mips_operand_int * mips_operand_int
| MoveToLo of mips_operand_int * mips_operand_int
| MoveWordFromFP of mips_operand_int * mips_operand_int
| MoveWordFromHighHalfFP of mips_operand_int * mips_operand_int
| MoveWordToHighHalfFP of mips_operand_int * mips_operand_int
| MoveWordToFP of mips_operand_int * mips_operand_int
| MoveFromCoprocessor0 of mips_operand_int * mips_operand_int * int
| MoveToCoprocessor0 of mips_operand_int * mips_operand_int * int
| MoveFromHighCoprocessor0 of mips_operand_int * mips_operand_int * int
| MoveToHighCoprocessor0 of mips_operand_int * mips_operand_int * int
| MoveWordFromCoprocessor2 of mips_operand_int * int * int
| MoveWordFromHighHalfCoprocessor2 of mips_operand_int * int * int
| MoveWordToCoprocessor2 of mips_operand_int * int * int
| MultiplyAddWord of mips_operand_int
* mips_operand_int
* mips_operand_int
* mips_operand_int
| MultiplyAddUnsignedWord of mips_operand_int
* mips_operand_int
* mips_operand_int
* mips_operand_int
| MultiplyUnsignedWord of mips_operand_int
* mips_operand_int
* mips_operand_int
* mips_operand_int
| MultiplyWord of mips_operand_int
* mips_operand_int
* mips_operand_int
* mips_operand_int
| MultiplyWordToGPR of mips_operand_int * mips_operand_int * mips_operand_int
| Nor of mips_operand_int * mips_operand_int * mips_operand_int
| Or of mips_operand_int * mips_operand_int * mips_operand_int
| OrImmediate of mips_operand_int * mips_operand_int * mips_operand_int
| Prefetch of mips_operand_int * int
| ReadHardwareRegister of mips_operand_int * int
| SetLT of mips_operand_int * mips_operand_int * mips_operand_int
| SetLTImmediate of mips_operand_int * mips_operand_int * mips_operand_int
| SetLTImmediateUnsigned of mips_operand_int
* mips_operand_int
* mips_operand_int
| SetLTUnsigned of mips_operand_int * mips_operand_int * mips_operand_int
| ShiftLeftLogical of mips_operand_int * mips_operand_int * mips_operand_int
| ShiftLeftLogicalVariable of mips_operand_int
* mips_operand_int
* mips_operand_int
| ShiftRightArithmetic of mips_operand_int * mips_operand_int * mips_operand_int
| ShiftRightArithmeticVariable of mips_operand_int
* mips_operand_int
* mips_operand_int
| ShiftRightLogical of mips_operand_int * mips_operand_int * mips_operand_int
| ShiftRightLogicalVariable of mips_operand_int
* mips_operand_int
* mips_operand_int
| SignExtendByte of mips_operand_int * mips_operand_int
| SignExtendHalfword of mips_operand_int * mips_operand_int
| StoreByte of mips_operand_int * mips_operand_int
| StoreConditionalWord of mips_operand_int * mips_operand_int
| StoreDoublewordFromFP of mips_operand_int * mips_operand_int
| StoreHalfWord of mips_operand_int * mips_operand_int
| StoreWord of mips_operand_int * mips_operand_int
| StoreWordFromFP of mips_operand_int * mips_operand_int
| StoreWordLeft of mips_operand_int * mips_operand_int
| StoreWordRight of mips_operand_int * mips_operand_int
| Subtract of mips_operand_int * mips_operand_int * mips_operand_int
| SubtractUnsigned of mips_operand_int * mips_operand_int * mips_operand_int
| Sync of int
| Syscall of int
| TrapIfEqual of int * mips_operand_int * mips_operand_int
| TrapIfEqualImmediate of mips_operand_int * mips_operand_int
| Xor of mips_operand_int * mips_operand_int * mips_operand_int
| XorImmediate of mips_operand_int * mips_operand_int * mips_operand_int
| WordSwapBytesHalfwords of mips_operand_int * mips_operand_int
| NoOperation
| Halt
| NotCode of not_code_t option
| NotRecognized of string * BCHLibTypes.doubleword_int
| OpcodeUnpredictable of string
| OpInvalid
class type mips_dictionary_int = object ... end
class type mips_assembly_instruction_int = object ... end
type mips_assembly_instruction_result =
mips_assembly_instruction_int CHTraceResult.traceresult
class type mips_assembly_instructions_int = object ... end
class type mips_assembly_block_int = object ... end
class type mips_assembly_function_int = object ... end
class type mips_assembly_functions_int = object ... end
type disassembly_pattern_t = {
regex_ds : Str.regexp;
regex_df : BCHLibTypes.doubleword_int ->
string ->
string ->
BCHLibTypes.doubleword_int;
}
class type mips_code_pc_int = object ... end
class type mips_chif_system_int = object ... end
class type mips_opcode_dictionary_int = object ... end
class type mips_analysis_results_int = object ... end