示例#1
0
 public override RiscVInstruction Decode(RiscVDisassembler dasm, uint wInstr)
 {
     dasm.state.instr.iclass = InstrClass.Linear;
     dasm.state.instr.opcode = opcode;
     dasm.state.ops.Clear();
     foreach (var m in mutators)
     {
         if (!m(wInstr, dasm))
         {
             return(dasm.MakeInvalid());
         }
     }
     return(dasm.MakeInstruction());
 }
示例#2
0
 public override RiscVInstruction Decode(uint wInstr, RiscVDisassembler dasm)
 {
     dasm.state.instr.InstructionClass = InstrClass.Linear;
     dasm.state.instr.Mnemonic         = opcode;
     dasm.state.ops.Clear();
     foreach (var m in mutators)
     {
         if (!m(wInstr, dasm))
         {
             return(dasm.CreateInvalidInstruction());
         }
     }
     return(dasm.MakeInstruction());
 }