public override zSeriesInstruction Decode(ulong uInstr, zSeriesDisassembler dasm) { if (!dasm.rdr.TryReadBeUInt32(out uint uLowWord)) return dasm.CreateInvalidInstruction(); ulong uInstrExt = (uInstr << 32) | uLowWord; return base.Decode(uInstrExt, dasm); }
public override zSeriesInstruction Decode(ulong uInstr, zSeriesDisassembler dasm) { if (!dasm.rdr.TryReadBeUInt16(out ushort uLowWord)) { return(dasm.CreateInvalidInstruction()); } ulong uInstrExt = (uInstr << 16) | uLowWord; return(base.Decode(uInstrExt, dasm)); }
public override zSeriesInstruction Decode(ulong uInstr, zSeriesDisassembler dasm) { dasm.state.opcode = opcode; foreach (var m in mutators) { if (!m(uInstr, dasm)) { return(dasm.CreateInvalidInstruction()); } } return(dasm.state.MakeInstruction()); }
public override zSeriesInstruction Decode(ulong uInstr, zSeriesDisassembler dasm) { dasm.Nyi(uInstr, msg); return(dasm.CreateInvalidInstruction()); }