private void AddVFPUAliasesToDictionary(VFPUAliases aliases, int regIndex) { for (int i = 0; i < VFPURegisterModes.NumModes; i++) { string value = aliases.Aliases[i].ToLower(); if (!VFPURegisterIndexDictArray[i].ContainsKey(value)) { VFPURegisterIndexDictArray[i].Add(value, regIndex); } } }
// For reading VFPU register aliases from file. public void ReadVFPURegisterAliasList() { StreamReader reader = new StreamReader(ASMDataFileMap.PSP_VFPURegisters); try { int regIndex = 0; while (reader.Peek() != -1) { string line = reader.ReadLine(); if (!string.IsNullOrEmpty(line)) { string[] strAliases = line.Split(','); VFPUAliases aliases = new VFPUAliases(); aliases.Index = regIndex; aliases.GenericName = Prefixes.VFPURegister + regIndex.ToString(); aliases.Single = strAliases[VFPURegisterModes.Single]; aliases.Pair = strAliases[VFPURegisterModes.Pair]; aliases.Triple = strAliases[VFPURegisterModes.Triple]; aliases.Quad = strAliases[VFPURegisterModes.Quad]; aliases.MatrixPair = strAliases[VFPURegisterModes.MatrixPair]; aliases.MatrixTriple = strAliases[VFPURegisterModes.MatrixTriple]; aliases.MatrixQuad = strAliases[VFPURegisterModes.MatrixQuad]; VFPURegisterList.Add(aliases); AddVFPUAliasesToDictionary(aliases, regIndex); } regIndex++; } } catch { } finally { reader.Close(); } }