Ejemplo n.º 1
0
 Register[] GetRegisters(int[] indices)
 {
     Register[] retval = new Register [indices.Length];
     for (int i = 0; i < indices.Length; i++)
         retval [i] = regs [indices [i]];
     return retval;
 }
Ejemplo n.º 2
0
        internal Registers(Architecture arch, long[] values)
        {
            important_indices = arch.RegisterIndices;

            regs = new Register [arch.CountRegisters];
            if (regs.Length != values.Length)
                throw new ArgumentException ();
            for (int i = 0; i < regs.Length; i++) {
                if (arch.RegisterSizes [i] < 0)
                    continue;
                regs [i] = new Register (
                    this, arch.RegisterNames [i], i,
                    arch.RegisterSizes [i], true, values [i]);
            }
            from_current_frame = true;
        }
Ejemplo n.º 3
0
        internal Registers(Registers old_regs)
        {
            important_indices = old_regs.important_indices;

            regs = new Register [old_regs.regs.Length];
            for (int i = 0; i < regs.Length; i++) {
                if (old_regs [i] == null)
                    continue;
                regs [i] = new Register (
                    this, old_regs [i].Name, i, old_regs [i].Size,
                    false, old_regs [i].GetValue ());
            }
        }
Ejemplo n.º 4
0
        internal Registers(Architecture arch)
        {
            important_indices = arch.RegisterIndices;

            regs = new Register [arch.CountRegisters];
            for (int i = 0; i < regs.Length; i++) {
                if (arch.RegisterSizes [i] < 0)
                    continue;
                regs [i] = new Register (
                    this, arch.RegisterNames [i], i,
                    arch.RegisterSizes [i], false, 0);
            }
        }