public string Parse(Stream stream, bool includeComent = false) { string?param = null; if (HasByte) { if (stream.Position == stream.Length) { throw new IndexOutOfRangeException(); } ParamByte = (byte)stream.ReadByte(); param = ParamByte.ToHexAsm(); } else if (HasWord) { if (stream.Position == stream.Length) { throw new IndexOutOfRangeException(); } byte lo = (byte)stream.ReadByte(); if (stream.Position == stream.Length) { throw new IndexOutOfRangeException(); } byte hi = (byte)stream.ReadByte(); ParamWord = (ushort)(hi << 8 | lo); param = ParamWord.ToHexAsm(); } if (includeComent && param != null && _constList.ContainsKey(param)) { param = _constList[param]; if (param.StartsWith(";")) { param = param[1..];
public override string ToString() { if (HasByte) { return(String.Format(Command, ParamByte.ToHex())); } if (HasWord) { return(String.Format(Command, ParamWord.ToHex())); } return(Command); }