Esempio n. 1
0
 public UserContextTableEntry this[TArmRegisterType aReg]
 {
     get
     {
         // Have to map to our internal type
         TArmRegisterIndex reg = Map(aReg);
         return(this[reg]);
     }
 }
Esempio n. 2
0
 public UserContextTableEntry this[TArmRegisterIndex aIndex]
 {
     get
     {
         int index = (int)aIndex;
         UserContextTableEntry ret = iEntries[index];
         return(ret);
     }
 }
Esempio n. 3
0
        private static TArmRegisterIndex Map(TArmRegisterType aReg)
        {
            TArmRegisterIndex ret = TArmRegisterIndex.EArmR0;

            //
            switch (aReg)
            {
            case TArmRegisterType.EArmReg_00:
                ret = TArmRegisterIndex.EArmR0;
                break;

            case TArmRegisterType.EArmReg_01:
                ret = TArmRegisterIndex.EArmR1;
                break;

            case TArmRegisterType.EArmReg_02:
                ret = TArmRegisterIndex.EArmR2;
                break;

            case TArmRegisterType.EArmReg_03:
                ret = TArmRegisterIndex.EArmR3;
                break;

            case TArmRegisterType.EArmReg_04:
                ret = TArmRegisterIndex.EArmR4;
                break;

            case TArmRegisterType.EArmReg_05:
                ret = TArmRegisterIndex.EArmR5;
                break;

            case TArmRegisterType.EArmReg_06:
                ret = TArmRegisterIndex.EArmR6;
                break;

            case TArmRegisterType.EArmReg_07:
                ret = TArmRegisterIndex.EArmR7;
                break;

            case TArmRegisterType.EArmReg_08:
                ret = TArmRegisterIndex.EArmR8;
                break;

            case TArmRegisterType.EArmReg_09:
                ret = TArmRegisterIndex.EArmR9;
                break;

            case TArmRegisterType.EArmReg_10:
                ret = TArmRegisterIndex.EArmR10;
                break;

            case TArmRegisterType.EArmReg_11:
                ret = TArmRegisterIndex.EArmR11;
                break;

            case TArmRegisterType.EArmReg_12:
                ret = TArmRegisterIndex.EArmR12;
                break;

            case TArmRegisterType.EArmReg_SP:
                ret = TArmRegisterIndex.EArmSp;
                break;

            case TArmRegisterType.EArmReg_LR:
                ret = TArmRegisterIndex.EArmLr;
                break;

            case TArmRegisterType.EArmReg_PC:
                ret = TArmRegisterIndex.EArmPc;
                break;

            case TArmRegisterType.EArmReg_CPSR:
                ret = TArmRegisterIndex.EArmFlags;
                break;

            case TArmRegisterType.EArmReg_DACR:
                ret = TArmRegisterIndex.EArmDacr;
                break;

            default:
                throw new NotSupportedException();
            }
            //
            return(ret);
        }