Esempio n. 1
0
        private RegisterCollection AddBank(RegisterCollection.TType aType, RegisterCollection aLinkedWith, params TArmRegisterType[] aExtraRegs)
        {
            RegisterCollection bank = new RegisterCollection(CrashDebugger, aType, null, aLinkedWith);

            iBanks.Add(aType, bank);

            // Create bank specific registers
            string bankName = RegisterCollection.BankName(aType);

            if (bankName != string.Empty)
            {
                bankName = "_" + bankName;
            }

            bank.Add("R13" + bankName, 0);
            bank.Add("R14" + bankName, 0);
            bank.Add("SPSR" + bankName, 0);

            // Create custom registers
            foreach (TArmRegisterType custom in aExtraRegs)
            {
                string name = ArmRegister.GetTypeName(custom) + bankName;
                bank.Add(name, 0);
            }

            return(bank);
        }
Esempio n. 2
0
 public void AddMany(params TArmRegisterType[] aTypes)
 {
     foreach (TArmRegisterType reg in aTypes)
     {
         string name = ArmRegister.GetTypeName(reg);
         Add(name, 0);
     }
 }
 internal RegisterEntryCPSR(RegisterCollection aParent, uint aValue)
     : base(aParent, ArmRegister.GetTypeName(TArmRegisterType.EArmReg_CPSR), aValue)
 {
 }
Esempio n. 4
0
 public CIRegister(CIRegisterList aList, TArmRegisterType aType, uint aValue)
     : this(aList, aType, ArmRegister.GetTypeName(aType), aValue)
 {
 }
        public static CIRegister New(TArmRegisterType aType, uint aValue, CIRegisterList aList)
        {
            CIRegister ret = New(aType, aValue, ArmRegister.GetTypeName(aType), aList);

            return(ret);
        }