public override VaxInstruction Decode(uint uInstr, VaxDisassembler dasm) { foreach (var m in mutators) { if (!m(uInstr, dasm)) { return(dasm.CreateInvalidInstruction()); } } var instr = new VaxInstruction { Opcode = this.op, InstructionClass = this.iclass, Operands = dasm.ops.ToArray() }; return(instr); }
public virtual VaxInstruction Decode(VaxDisassembler dasm) { foreach (var m in mutators) { if (!m(dasm)) { return(new VaxInstruction { Opcode = Opcode.Invalid, IClass = InstrClass.Invalid, Operands = new MachineOperand[0] }); } } var instr = new VaxInstruction { Opcode = this.op, IClass = this.iclass, Operands = dasm.ops.ToArray() }; return(instr); }
public virtual VaxInstruction Decode(VaxDisassembler dasm) { return(dasm.DecodeOperands(op, format)); }