public override M6809Instruction Decode(uint wInstr, M6809Disassembler dasm) { if (!dasm.rdr.TryReadByte(out byte opcode)) { return(dasm.CreateInvalidInstruction()); } return(subDecoders[opcode].Decode(opcode, dasm)); }
public override M6809Instruction Decode(uint wInstr, M6809Disassembler dasm) { foreach (var m in mutators) { if (!m(wInstr, dasm)) { return(dasm.CreateInvalidInstruction()); } } var instr = new M6809Instruction { InstructionClass = iclass, Mnemonic = mnemonic, Operands = dasm.ops.ToArray() }; return(instr); }