public override Tlcs900Instruction Decode(byte b, Tlcs900Disassembler dasm) { if (!dasm.rdr.TryReadByte(out b)) { return(null); } dasm.opSize = width[0]; dasm.opSrc = dasm.ExtraRegister(b, width); if (dasm.opSrc == null) { return(null); } if (!dasm.rdr.TryReadByte(out b)) { return(null); } return(regOpRecs[b].Decode(b, dasm)); }
public override Tlcs900Instruction Decode(uint bPrev, Tlcs900Disassembler dasm) { if (!dasm.rdr.TryReadByte(out byte b)) { return(null); } dasm.opSize = width; var op = dasm.ExtraRegister(b); if (op == null) { return(dasm.CreateInvalidInstruction()); } if (!dasm.rdr.TryReadByte(out b)) { return(dasm.CreateInvalidInstruction()); } dasm.ops.Add(op); return(regDecoders[b].Decode(b, dasm)); }