libmicroemu 0.2.0
ARM Microcontroller Emulator Library
Loading...
Searching...
No Matches
libmicroemu::internal Namespace Reference

The libmicroemu::internal namespace contains all classes and functions of libmicroemu which are private. More...

Classes

class  Adc1ImmOp
 Adc. More...
 
class  Adc2ShiftOp
 Adc. More...
 
class  Add1ImmOp
 Add. More...
 
class  Add2ShiftOp
 Add. More...
 
class  AddToPcImmOp
 Add to pc. More...
 
class  Alu
 
class  And1ImmCarryOp
 And. More...
 
class  And2ShiftOp
 And operation. More...
 
class  Asr1ShiftOp
 Asr. More...
 
class  Asr2Op
 Asr. More...
 
class  Bic1ImmCarryOp
 Bit clear. More...
 
class  Bic2ShiftOp
 Bit clear operation. More...
 
class  BigToLittleEndianConverter
 This class contains a function to convert the endianess from big endian to little endian. More...
 
class  Binary64bitInstr
 
class  BinaryBranchInstr
 
class  BinaryBranchInstrWithImm
 
class  BinaryInstr
 
class  BinaryInstrWithImm
 
class  BinaryInstrWithImmCarry
 
class  BinaryInstrWithRotation
 
class  BinaryInstrWithShift
 
class  BinaryLoadInstrWithImm
 Load from immediate adr to register. More...
 
class  BinaryNullInstrWithImm
 
class  BinaryNullInstrWithImmCarry
 
class  BinaryStoreInstrWithImm
 Load from immediate adr to register. More...
 
class  BitManip
 
class  Blx1Op
 Branch link X. More...
 
class  Bus
 
class  Bx1Op
 Branch X. More...
 
class  CbNZ1ImmOp
 Compare branch. More...
 
class  Clz1Op
 Clz. More...
 
class  Cmn1ImmOp
 Cmn. More...
 
class  Cmp1ImmOp
 Cmp. More...
 
class  Cmp2ShiftOp
 Compare two registers. More...
 
class  ConstStringBuilder
 A class to build a const string in a buffer. More...
 
class  CpuAccessor
 
class  CpuOps
 
class  Decoder
 
class  Delegates
 
class  Dmb0Op
 Dmb instruction. More...
 
struct  Elf32_Ehdr
 
struct  Elf32_Phdr
 
class  ElfReader
 
class  Emulator
 
class  Eor1ImmCarryOp
 Eor. More...
 
class  Eor2ShiftOp
 Exclusive Or operation. More...
 
struct  ExceptionContext
 
class  ExceptionPostExecution
 
class  ExceptionPostFetch
 
class  ExceptionPreFetch
 
class  ExceptionsOps
 
class  Executor
 
class  Fetcher
 
class  IBreakpoint
 
class  IfThenOps
 
struct  ImmShiftResults
 
union  Instr
 
struct  InstrAdcImmediate
 
struct  InstrAdcRegister
 
struct  InstrAddImmediate
 
struct  InstrAddPcPlusImmediate
 
struct  InstrAddRegister
 
struct  InstrAddSpPlusImmediate
 
struct  InstrAndImmediate
 
struct  InstrAndRegister
 
struct  InstrAsrImmediate
 
struct  InstrAsrRegister
 
struct  InstrB
 
struct  InstrBCond
 
struct  InstrBfi
 
struct  InstrBicImmediate
 
struct  InstrBicRegister
 
struct  InstrBkpt
 
struct  InstrBl
 
struct  InstrBlx
 
struct  InstrBx
 
struct  InstrCbNZ
 
struct  InstrClz
 
struct  InstrCmnImmediate
 
struct  InstrCmpImmediate
 
struct  InstrCmpRegister
 
struct  InstrContext
 
struct  InstrDmb
 
struct  InstrEorImmediate
 
struct  InstrEorRegister
 
struct  InstrExecResult
 
struct  InstrIt
 
struct  InstrLdm
 
struct  InstrLdrbImmediate
 
struct  InstrLdrbRegister
 
struct  InstrLdrdImmediate
 
struct  InstrLdrex
 
struct  InstrLdrhImmediate
 
struct  InstrLdrhRegister
 
struct  InstrLdrImmediate
 
struct  InstrLdrLiteral
 
struct  InstrLdrRegister
 
struct  InstrLdrsbImmediate
 
struct  InstrLdrshImmediate
 
struct  InstrLslImmediate
 
struct  InstrLslRegister
 
struct  InstrLsrImmediate
 
struct  InstrLsrRegister
 
struct  InstrMla
 
struct  InstrMls
 
struct  InstrMovImmediate
 
struct  InstrMovRegister
 
struct  InstrMrs
 
struct  InstrMsr
 
struct  InstrMul
 
struct  InstrMvnImmediate
 
struct  InstrMvnRegister
 
struct  InstrNop
 
struct  InstrOrrImmediate
 
struct  InstrOrrRegister
 
struct  InstrPop
 
struct  InstrPush
 
struct  InstrRrx
 
struct  InstrRsbImmediate
 
struct  InstrRsbRegister
 
struct  InstrSbcImmediate
 
struct  InstrSbcRegister
 
struct  InstrSdiv
 
struct  InstrSmull
 
struct  InstrStm
 
struct  InstrStmdb
 
struct  InstrStrbImmediate
 
struct  InstrStrbRegister
 
struct  InstrStrdImmediate
 
struct  InstrStrex
 
struct  InstrStrhImmediate
 
struct  InstrStrhRegister
 
struct  InstrStrImmediate
 
struct  InstrStrRegister
 
struct  InstrSubImmediate
 
struct  InstrSubRegister
 
struct  InstrSubSpMinusImmediate
 
struct  InstrSvc
 
struct  InstrSxtb
 
struct  InstrSxth
 
struct  InstrTbbH
 
struct  InstrTeqImmediate
 
struct  InstrTeqRegister
 
class  InstrToMnemonic
 
struct  InstrTstImmediate
 
struct  InstrTstRegister
 
struct  InstrUbfx
 
struct  InstrUdiv
 
struct  InstrUmlal
 
struct  InstrUmull
 
struct  InstrUxtb
 
struct  InstrUxth
 
class  LittleToLittleEndianConverter
 This class contains a function to convert the endianess from little to little endian. More...
 
class  LoadMemExU32
 Loads u32 (exlusive) from memory. More...
 
class  LoadMemI16
 Loads i16 from memory and extends the result to u32. More...
 
class  LoadMemI8
 Loads i8 from memory and extends the result to i32. More...
 
class  LoadMemU16
 Loads u16 from memory and extends the result to u32. More...
 
class  LoadMemU32
 Loads u32 from memory. More...
 
class  LoadMemU8
 Loads u8 from memory and extends the result to u32. More...
 
class  Lsl1ShiftOp
 Lsl. More...
 
class  Lsl2Op
 Lsl. More...
 
class  Lsr1ShiftOp
 Lsr. More...
 
class  Lsr2Op
 Lsr. More...
 
struct  make_signed_type
 
struct  make_signed_type< u16 >
 
struct  make_signed_type< u32 >
 
struct  make_signed_type< u64 >
 
struct  make_signed_type< u8 >
 
class  MemMapAccessPoint
 
class  MemMapRw
 
class  MemoryHelpers
 
class  MemoryViewer
 
class  MemRw
 
class  MemRwOptional
 Optional assignable memory class. More...
 
class  Mla3Op
 Mla. More...
 
class  Mls3Op
 Mls. More...
 
class  MnemonicBuilder
 
class  MnemonicBuilderBinary64bitInstr
 Binary instruction with 64-bit result. More...
 
class  MnemonicBuilderBinaryInstr
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryInstrWithImm
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryInstrWithImmCarry
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryInstrWithRotation
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryInstrWithShift
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryLoadStoreInstrWithImm
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryNullInstr
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryNullInstrWithImm
 Load from immediate adr to register. More...
 
class  MnemonicBuilderBinaryNullInstrWithImmCarry
 Load from immediate adr to register. More...
 
struct  MnemonicBuilderContext
 
class  MnemonicBuilderNullaryInstr
 Load from immediate adr to register. More...
 
class  MnemonicBuilderSpecialInstr
 Load from immediate adr to register. More...
 
class  MnemonicBuilderTernaryInstr
 Load from immediate adr to register. More...
 
class  MnemonicBuilderTernaryInstrWithShift
 Load from immediate adr to register. More...
 
class  MnemonicBuilderTernaryLoadStoreInstrWithImm
 Load from immediate adr to register. More...
 
class  MnemonicBuilderTernaryLoadStoreInstrWithShift
 Load from immediate adr to register. More...
 
class  MnemonicBuilderTernaryNullInstrWithShift
 Load from immediate adr to register. More...
 
class  MnemonicBuilderUnaryBranchInstr
 Load from immediate adr to register. More...
 
class  MnemonicBuilderUnaryBranchInstrWithImm
 Load from immediate adr to register. More...
 
class  MnemonicBuilderUnaryInstr
 Load from immediate adr to register. More...
 
class  MnemonicBuilderUnaryInstrWithImmCarry
 Load from immediate adr to register. More...
 
class  MnemonicBuilderUnaryNullInstrWithImm
 Load from immediate adr to register. More...
 
class  MnemonicBuilderVariadicLoadStoreInstr
 
class  Mov1Op
 Mov. More...
 
class  MovImmCarryOp
 Mov. More...
 
class  Mul2Op
 Mul. More...
 
class  Mvn1ShiftOp
 Mvn. More...
 
class  MvnImmCarryOp
 Mvn. More...
 
struct  next_bigger_type
 
struct  next_bigger_type< u16 >
 
struct  next_bigger_type< u32 >
 
struct  next_bigger_type< u8 >
 
struct  no_of_bits
 
struct  no_of_bits< u16 >
 
struct  no_of_bits< u32 >
 
struct  no_of_bits< u64 >
 
struct  no_of_bits< u8 >
 
class  Nop0Op
 Nop instruction. More...
 
class  NullaryInstr
 
class  NullBuffer
 
struct  OpResult
 
class  Orr1ImmCarryOp
 Orr. More...
 
class  Orr2ShiftOp
 Orr operation. More...
 
class  PcOps
 
class  PostExecAdvancePcAndIt
 
class  PostExecBlxWritePc
 
class  PostExecBranch
 
class  PostExecBxWritePc
 
class  PostExecLoadWritePc
 
class  PostExecOptionalSetFlags
 
class  PostExecSetFlags
 
class  PostExecWriteRegPcExcluded
 
class  PostExecWriteRegPcIncluded
 
class  Predicates
 Provides predicates for certain cpu states. More...
 
class  Processor
 
struct  ReadResult
 
class  RegAccessor
 Provides access to processor registers. More...
 
class  RegOps
 
class  RelativeAdrBuilder
 
class  ResetLogic
 Reset logic for the processor. More...
 
struct  Result
 
struct  Result< void >
 
class  Rrx1Op
 Rrx. More...
 
class  Rsb1ImmOp
 Reverse Subtract. More...
 
class  Rsb2ShiftOp
 Reverse Subtract. More...
 
class  Sbc1ImmOp
 Subtract with carry. More...
 
class  Sbc2ShiftOp
 Subtract with carry. More...
 
class  SDiv2Op
 Sdiv. More...
 
class  Semihosting
 
class  Smull2Op
 Smull. More...
 
class  SpecialInstr
 
class  SpecialRegAccessor
 Provides access to special registers. More...
 
class  SpecRegOps
 
class  StoreMemExU32
 Store (exclusive) u32 to memory. More...
 
class  StoreMemU16
 Store u16 to memory. More...
 
class  StoreMemU32
 Store u32 to memory. More...
 
class  StoreMemU8
 Store u8 to memory. More...
 
class  Sub1ImmOp
 Subtract. More...
 
class  Sub2ShiftOp
 Subtract. More...
 
class  Sxtb1Rotation
 Sxtb. More...
 
class  Sxth1Rotation
 Sxth. More...
 
class  TbbH2Op
 Table branch. More...
 
class  Teq1ImmCarryOp
 Teq. More...
 
class  Teq2ShiftOp
 TEQ - Test two registers. More...
 
class  TernaryInstr
 
class  TernaryInstrWithShift
 
class  TernaryLoadInstrWithShift
 Load from register adress to register. More...
 
class  TernaryNullInstrWithShift
 
class  TernaryStoreInstrWithImm
 
class  TernaryStoreInstrWithShift
 Load from register adress to register. More...
 
class  Thumb
 
class  Tst1ImmCarryOp
 Tst. More...
 
class  Tst2ShiftOp
 TST - Test two registers. More...
 
class  UDiv2Op
 Udiv. More...
 
class  Umlal2Op
 Umlal. More...
 
class  Umull2Op
 Umull. More...
 
class  UnaryBranchInstr
 
class  UnaryInstr
 
class  UnaryInstrImm
 
class  UnaryInstrImmCarry
 
class  UnaryLoadInstrImm
 Load from immediate adr to register. More...
 
class  Uxtb1Rotation
 Uxtb. More...
 
class  Uxth1Rotation
 Uxth. More...
 
class  VariadicLoadInstr
 Load multiple. More...
 
class  VariadicStoreInstr
 Store Multiple. More...
 
class  VariadicStoreInstrDb
 
struct  WriteResult
 

Typedefs

using BkptFlagsSet = uint8_t
 
using InstrFlagsSet = u8
 
using Bm8 = BitManip<u8>
 
using Bm16 = BitManip<u16>
 
using Bm32 = BitManip<u32>
 
using InstrExecFlagsSet = u8
 
template<typename T>
using next_bigger_type_t = typename next_bigger_type<T>::type
 
using Alu8 = Alu<u8>
 
using Alu16 = Alu<u16>
 
using Alu32 = Alu<u32>
 
using StepFlagsSet = u8
 
using SvcFlagsSet = uint8_t
 
using MnemonicBuilderFlagsSet = u8
 
template<typename T>
using make_signed_type_t = typename make_signed_type<T>::type
 

Enumerations

enum class  BkptFlags : u8 { kRequestExit = 0x1U << 0U , kRequestErrorExit = 0x1U << 1U , kOmitException = 0x1U << 2U }
 
enum class  BusExceptionType {
  kRaiseNoException , kRaiseStkerr , kRaiseUnstkerr , kRaiseImpreciseDataBusError ,
  kRaisePreciseDataBusError , kRaiseInstructionBusError
}
 
enum class  ReadStatusCode : u32 { kOk = 0U , kReadNotAllowed = 1U }
 
enum class  WriteStatusCode : u32 { kOk = 0U , kWriteNotAllowed = 1U }
 
enum class  InstrId : u8 {
  kNop , kDmb , kAddPcPlusImmediate , kLslImmediate ,
  kLslRegister , kClz , kSxth , kTbbH ,
  kCmpRegister , kCmpImmediate , kCmnImmediate , kMovImmediate ,
  kMvnImmediate , kMovRegister , kRrx , kLdrbImmediate ,
  kLdrsbImmediate , kLdrhImmediate , kLdrshImmediate , kLdrImmediate ,
  kLdrex , kLdrdImmediate , kLdrLiteral , kIt ,
  kCbNZ , kBl , kBx , kBlx ,
  kBCond , kB , kBfi , kUdiv ,
  kSdiv , kMul , kUmlal , kUmull ,
  kSmull , kMls , kMla , kSubImmediate ,
  kSbcImmediate , kRsbImmediate , kSubSpMinusImmediate , kSubRegister ,
  kRsbRegister , kAddImmediate , kAdcImmediate , kAddSpPlusImmediate ,
  kTstImmediate , kTeqImmediate , kTstRegister , kTeqRegister ,
  kAndImmediate , kAddRegister , kAdcRegister , kStmdb ,
  kPush , kStm , kPop , kLdm ,
  kUxtb , kSxtb , kUxth , kUbfx ,
  kOrrImmediate , kOrrRegister , kEorImmediate , kEorRegister ,
  kSbcRegister , kAndRegister , kBicRegister , kBicImmediate ,
  kMvnRegister , kLsrImmediate , kAsrImmediate , kLsrRegister ,
  kAsrRegister , kStrdImmediate , kStrRegister , kStrbRegister ,
  kStrhRegister , kLdrbRegister , kLdrhRegister , kLdrRegister ,
  kStrbImmediate , kStrhImmediate , kStrImmediate , kStrex ,
  kSvc , kBkpt , kMsr , kMrs ,
  kInvalid
}
 
enum class  InstrFlagsShift {
  k32Bit = 0U , kAddShift = 1U , kIndexShift = 2U , kWBackShift = 3U ,
  kTbhShift = 4U , kSetFlagsShift = 5U , kUnalignedAllowShift = 6U , kNonZeroShift = 7U
}
 
enum class  InstrFlags : InstrFlagsSet {
  k32Bit = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::k32Bit) , kAdd = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::kAddShift) , kIndex = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::kIndexShift) , kWBack = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::kWBackShift) ,
  kTbh = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::kTbhShift) , kSetFlags = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::kSetFlagsShift) , kUnalignedAllow = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::kUnalignedAllowShift) , kNonZero = 1U << static_cast<InstrFlagsSet>(InstrFlagsShift::kNonZeroShift)
}
 
enum  SegmentType {
  PT_NULL = 0 , PT_LOAD = 1 , PT_DYNAMIC = 2 , PT_INTERP = 3 ,
  PT_NOTE = 4 , PT_PHDR = 6 , PT_ARM_EXIDX = 0x70000001
}
 
enum  SegmentFlags { PF_X = 1 << 0 , PF_W = 1 << 1 , PF_R = 1 << 2 }
 
enum class  InstrExecFlags : InstrExecFlagsSet { kBkptReqExit = 1U << 0U , kSvcReqExit = 1U << 1U , kBkptReqErrorExit = 1U << 2U , kSvcReqErrorExit = 1U << 3U }
 
enum class  ProcessorMode { kThread = 0U , kHandler = 1U }
 
enum class  ExecutionInstant { kPreFetch = 0U , kPostFetch = 1U , kPostExecution = 2U }
 
enum class  Condition : u32 {
  kCondEq = 0b0000U , kCondNe = 0b0001U , kCondCs = 0b0010U , kCondCc = 0b0011U ,
  kCondMi = 0b0100U , kCondPl = 0b0101U , kCondVs = 0b0110U , kCondVc = 0b0111U ,
  kCondHi = 0b1000U , kCondLs = 0b1001U , kCondGe = 0b1010U , kCondLt = 0b1011U ,
  kCondGt = 0b1100U , kCondLe = 0b1101U , kCondAl = 0b1110U , kUndefined = 0b1111U
}
 
enum class  SRType : uint8_t {
  SRType_None = 0U , SRType_LSL = 1U , SRType_LSR = 2U , SRType_ASR = 3U ,
  SRType_ROR = 4U , SRType_RRX = 5U
}
 
enum class  StepFlags : StepFlagsSet { kStepOk = 1U << 0U , kStepTerminationRequest = 1U << 1U }
 
enum  {
  kSysOpen = 0x01U , kSysIsTTY = 0x09U , kSysWrite = 0x05U , kSysRead = 0x06U ,
  kSysClose = 0x02U , kSysFLen = 0x0CU , kSysSeek = 0x0AU , kSysTmpNam = 0x0DU ,
  kSysRemove = 0x0EU , kSysRename = 0x0FU , kSysWriteC = 0x03U , kSysWrite0 = 0x04U ,
  kSysReadC = 0x07U , kSysClock = 0x10U , kSysElapsed = 0x30U , kSysTickFreq = 0x31U ,
  kSysTime = 0x11U , kSysErrNo = 0x13U , kSysGetCmdLine = 0x15U , kSysHeapInfo = 0x16U ,
  kSysExit = 0x18U , kSysIsError = 0x08U , kSysSystem = 0x12U , kSysExitExtended = 0x20U
}
 
enum class  ReasonCodes : uint32_t {
  kADPStoppedBranchThroughZero = 0x20000U , kADPStoppedUndefinedInstr = 0x20001U , kADPStoppedSoftwareInterrupt = 0x20002U , kADPStoppedPrefetchAbort = 0x20003U ,
  kADPStoppedDataAbort = 0x20004U , kADPStoppedAddressException = 0x20005U , kADPStoppedIRQ = 0x20006U , kADPStoppedFIQ = 0x20007U ,
  kADPStoppedBreakPoint = 0x20020U , kADPStoppedWatchPoint = 0x20021U , kADPStoppedStepComplete = 0x20022U , kADPStoppedRunTimeErrorUnknown = 0x20023U ,
  kADPStoppedInternalError = 0x20024U , kADPStoppedUserInterruption = 0x20025U , kADPStoppedApplicationExit = 0x20026U , kADPStoppedStackOverflow = 0x20027U ,
  kADPStoppedDivisionByZero = 0x20028U , kADPStoppedOSSpecific = 0x20029U
}
 
enum class  SvcFlags : u8 { kRequestExit = 0x1U << 0U , kRequestErrorExit = 0x1U << 1U , kOmitException = 0x1U << 2U }
 
enum class  MnemonicBuilderFlags : MnemonicBuilderFlagsSet { kNone = 0U , kReduceRd = 1U << 0U , kSupressShiftType = 1U << 1U }
 

Functions

template<typename TCpuAccessor, typename TItOps>
static Result< InstrInvalidInstrDecoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrNopT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrDmbT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddPcPlusImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLslImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLslImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLslRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLslRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrClzT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAsrImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrCmpRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrCmpRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrCmpRegisterT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrCmpImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrCmpImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrCmnImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMovImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMovImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMovImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMvnImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrTbbHT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrRsbImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrRsbImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMovRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMovRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMovRegisterT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrRrxT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrLiteralT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrLiteralT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrbImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrbImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrbImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrsbImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrsbImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrshImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrshImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrhImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrhImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrhImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrPopT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrPopT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrPopT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrImmediateT4Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrexT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrdImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrItT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBlT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBxT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBlxT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBT4Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubSpMinusImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubSpMinusImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubSpMinusImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubImmediateT4Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSbcImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddSpPlusImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddSpPlusImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddSpPlusImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddSpPlusImmediateT4Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddImmediateT4Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAdcImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrTstImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrTeqImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrTstRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrTeqRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAndImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrOrrImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrEorImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSubRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrRsbRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUmlalT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUmullT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSmullT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMulT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUdivT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSdivT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMlsT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMlaT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAddRegisterT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAdcRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAdcRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStmdbT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrPushT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrPushT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrPushT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdmT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdmT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStmT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStmT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSxthT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSxthT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUxtbT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUxtbT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSxtbT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSxtbT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUxthT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUxthT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBfiT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrUbfxT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrEorRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrEorRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSbcRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrOrrRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrOrrRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAndRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAndRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBicImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBicRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBicRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLsrRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLsrRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAsrRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAsrRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLsrImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLsrImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMvnRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrAsrImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrbRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrbRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrhRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrbRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrRegisterT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrLdrhRegisterT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrdImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrhImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrhImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrhImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrbImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrbImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrbImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrImmediateT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrImmediateT2Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrImmediateT3Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrImmediateT4Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrStrexT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrCbNZT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSvcT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrBkptT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMsrT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrMrsT1Decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op00000 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op00011 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op01010 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op10111 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op10110 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op01000 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op01011 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op01101 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter16bit_op11011 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter32bit_op11101 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter32bit_op11110 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< InstrSplitter32bit_op11111 (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename TCpuAccessor, typename TItOps>
static Result< Instrcall_decoder (const RawInstr &rinstr, TCpuAccessor &cpua)
 
template<typename T>
static constexpr Result< T > Ok (const T &content) noexcept
 
static constexpr Result< void > Ok () noexcept
 
template<typename T>
static constexpr Result< T > Err (const StatusCode &sc) noexcept
 
static constexpr Result< void > Err (const StatusCode &sc) noexcept
 
template<typename TIn, typename TRet>
static constexpr std::enable_if_t<!std::is_same_v< TRet, void >, Result< TRet > > Err (const Result< TIn > &res) noexcept
 
template<typename TIn, typename TRet>
static constexpr std::enable_if_t< std::is_same_v< TRet, void >, Result< TRet > > Err (const Result< TIn > &res) noexcept
 

Variables

static constexpr u32 kDecodersOpCodeLast = 15U
 
static constexpr u32 kDecodersOpCodeFirst = 11U
 
static NullBuffer null_buffer
 
static constexpr InstrExecFlagsSet kExitFlagsMask
 
static constexpr InstrExecFlagsSet kNoInstrExecFlags = 0U
 
static constexpr uint32_t kFlagsOpCodeLast = 15U
 
static constexpr uint32_t kFlagsOpCodeFirst = 11U
 
static const RawInstrFlagsSet kRawInstrFlagsTable []
 
constexpr u32 kHandleStdin = 1U
 
constexpr u32 kHandleStdout = 2U
 
constexpr u32 kHandleStderr = 3U
 
constexpr u32 kHandleSemihostFeatures = 4U
 
static char kFeatureData []
 

Detailed Description

The libmicroemu::internal namespace contains all classes and functions of libmicroemu which are private.

Variable Documentation

◆ kExitFlagsMask

InstrExecFlagsSet libmicroemu::internal::kExitFlagsMask
staticconstexpr
Initial value:
=
static_cast<InstrExecFlagsSet>(InstrExecFlags::kSvcReqExit) |
static_cast<InstrExecFlagsSet>(InstrExecFlags::kBkptReqExit) |
static_cast<InstrExecFlagsSet>(InstrExecFlags::kBkptReqErrorExit) |
static_cast<InstrExecFlagsSet>(InstrExecFlags::kSvcReqErrorExit)

◆ kFeatureData

char libmicroemu::internal::kFeatureData[]
static
Initial value:
= {
0x53U,
0x48U,
0x46U,
0x42U,
0x3U
}