示例#1
0
        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..];
示例#2
0
 public override string ToString()
 {
     if (HasByte)
     {
         return(String.Format(Command, ParamByte.ToHex()));
     }
     if (HasWord)
     {
         return(String.Format(Command, ParamWord.ToHex()));
     }
     return(Command);
 }