public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { var instr = base.Decode(wInstr, dasm); instr.condition = (ArmCondition)(wInstr >> 28); return(instr); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { TraceDecoder(wInstr); uint op = (wInstr >> shift) & mask; return(decoders[op].Decode(wInstr, dasm)); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { TraceDecoder(wInstr, tag); uint n = Bitfield.ReadFields(bitfields, wInstr); return(this.decoders[n].Decode(wInstr, dasm)); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { TraceMask(wInstr); var op = (wInstr >> pos) & mask; var decoder = predicate(op) ? trueDecoder : falseDecoder; return(decoder.Decode(wInstr, dasm)); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { var op = (wInstr >> shift) & mask; if (!decoders.TryGetValue(op, out Decoder decoder)) { decoder = @default; } return(decoder.Decode(wInstr, dasm)); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { TraceMask(wInstr, tag); var op = (wInstr >> shift) & 0xF; if (op == 0xF) { return(is1111.Decode(wInstr, dasm)); } else { return(not1111.Decode(wInstr, dasm)); } }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { dasm.state.opcode = this.opcode; dasm.state.vectorData = this.vectorData; for (int i = 0; i < mutators.Length; ++i) { if (!mutators[i](wInstr, dasm)) { dasm.state.Invalid(); break; } } var instr = dasm.state.MakeInstruction(); return(instr); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { DumpMaskedInstruction(wInstr, 0, this.mnemonic); dasm.state.iclass = iclass; dasm.state.mnemonic = this.mnemonic; dasm.state.vectorData = this.vectorData; for (int i = 0; i < mutators.Length; ++i) { if (!mutators[i](wInstr, dasm)) { dasm.state.Invalid(); break; } } var instr = dasm.state.MakeInstruction(); return(instr); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { return(dasm.NotYetImplemented(message)); }
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { return(decode(wInstr, dasm).Decode(wInstr, dasm)); }
public abstract AArch32Instruction Decode(uint wInstr, A32Disassembler dasm);
public override AArch32Instruction Decode(uint wInstr, A32Disassembler dasm) { Debug.Print("NYI: {0}", message); return(dasm.NotYetImplemented(message, wInstr)); }