예제 #1
0
 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);
         }
     }
 }
예제 #2
0
        // 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();
            }
        }