// For reading encoding files public void ReadEncodeList(string filepath) { StreamReader reader = new StreamReader(filepath); try { while (reader.Peek() != -1) { string line = reader.ReadLine(); if (!string.IsNullOrEmpty(line)) { line = ASMStringHelper.RemoveSpaces(line); string[] lineArray = line.Split(':'); EncodingFormat encoding = new EncodingFormat(); encoding.Command = lineArray[0].ToLower(); encoding.Binary = lineArray[1]; encoding.Syntax = lineArray[2]; if (lineArray.Length > 3) { encoding.ImmediateLengths = ASMStringHelper.CreateIntList(lineArray[3]); } if (lineArray.Length > 4) { encoding.VFPURegisterTypes = ASMStringHelper.CreateIntList(lineArray[4]); } if (lineArray.Length > 5) { encoding.PartialRegisterSizes = ASMStringHelper.CreateIntList(lineArray[5]); } if (lineArray.Length > 6) { encoding.ShiftedImmediateAmounts = ASMStringHelper.CreateIntList(lineArray[6]); } if (lineArray.Length > 7) { encoding.VFPUPrefixType = int.Parse(lineArray[7]); } encoding = FindFormatDetails(encoding); string expFormat = ExpandFormat(encoding); encoding.ExpandedFormat = expFormat; encoding = FindFormatBaseValues(encoding); encoding = FindParameterIndexes(encoding); EncodeList.Add(encoding); EncodeDict.Add(encoding.Command, encoding); AddToDecodeLists(expFormat, encoding); } } } catch (Exception ex) { } finally { reader.Close(); } }