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; }
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; }
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 ()); } }
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); } }