public override AvrInstruction Decode(uint uInstr, Avr8Disassembler dasm) { ushort wInstr = (ushort)uInstr; int br = (((wInstr >> 7) & 8) | (wInstr & 7)) & 0xF; o(wInstr, dasm); return(new AvrInstruction { InstructionClass = InstrClass.ConditionalTransfer, Mnemonic = branches[br], Operands = dasm.ops.ToArray() }); }
public override AvrInstruction Decode(uint wInstr, Avr8Disassembler dasm) { foreach (var m in mutators) { if (!m(wInstr, dasm)) { return(invalid.Decode(wInstr, dasm)); } } return(new AvrInstruction { opcode = opcode, InstructionClass = iclass, operands = dasm.ops.ToArray(), }); }