public override void Decode(Decoder decoder, ref Instruction instruction) { Debug.Assert(decoder.state.Encoding == EncodingKind.Legacy); decoder.ClearMandatoryPrefix(ref instruction); var handler = handlers[(int)decoder.state.mandatoryPrefix]; if (handler.HasModRM) { decoder.ReadModRM(); } handler.Decode(decoder, ref instruction); }
public override void Decode(Decoder decoder, ref Instruction instruction) { Debug.Assert(decoder.state.Encoding == EncodingKind.Legacy); var handlers = decoder.state.mod == 3 ? handlers_reg : handlers_mem; var info = handlers[(int)decoder.state.mandatoryPrefix]; if (info.mandatoryPrefix) { decoder.ClearMandatoryPrefix(ref instruction); } info.handler.Decode(decoder, ref instruction); }
public override void Decode(Decoder decoder, ref Instruction instruction) { Debug.Assert(decoder.state.Encoding == EncodingKind.Legacy); decoder.ClearMandatoryPrefix(ref instruction); handlers[(int)decoder.state.mandatoryPrefix].Decode(decoder, ref instruction); }