本文整理汇总了C#中IProcessorArchitecture.GetRegister方法的典型用法代码示例。如果您正苦于以下问题:C# IProcessorArchitecture.GetRegister方法的具体用法?C# IProcessorArchitecture.GetRegister怎么用?C# IProcessorArchitecture.GetRegister使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IProcessorArchitecture
的用法示例。
在下文中一共展示了IProcessorArchitecture.GetRegister方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Build
public SystemService Build(IProcessorArchitecture arch)
{
SystemService svc = new SystemService();
svc.Name = Name;
svc.SyscallInfo = new SyscallInfo();
svc.SyscallInfo.Vector = Convert.ToInt32(SyscallInfo.Vector, 16);
if (SyscallInfo.RegisterValues != null)
{
svc.SyscallInfo.RegisterValues = new RegValue[SyscallInfo.RegisterValues.Length];
for (int i = 0; i < SyscallInfo.RegisterValues.Length; ++i)
{
svc.SyscallInfo.RegisterValues[i] = new RegValue
{
Register = arch.GetRegister(SyscallInfo.RegisterValues[i].Register),
Value = Convert.ToInt32(SyscallInfo.RegisterValues[i].Value, 16),
};
}
}
else
{
svc.SyscallInfo.RegisterValues = new RegValue[0];
}
TypeLibraryLoader loader = new TypeLibraryLoader(arch, true);
ProcedureSerializer sser = arch.CreateProcedureSerializer(loader, "stdapi");
svc.Signature = sser.Deserialize(Signature, arch.CreateFrame());
svc.Characteristics = Characteristics != null ? Characteristics : DefaultProcedureCharacteristics.Instance;
return svc;
}
示例2: Setup
public void Setup()
{
mr = new MockRepository();
fakeArch = new FakeArchitecture();
importResolver = mr.StrictMock<IImportResolver>();
callSigs = new Dictionary<Address, ProcedureSignature>();
arch = fakeArch;
var r1 = arch.GetRegister(1);
reg1 = new Identifier(r1.Name, PrimitiveType.Word32, r1);
}
示例3: Setup
public void Setup()
{
mr = new MockRepository();
fakeArch = new FakeArchitecture();
importResolver = mr.StrictMock<IImportResolver>();
callSigs = new Dictionary<Address, ProcedureSignature>();
arch = fakeArch;
var r1 = arch.GetRegister(1);
reg1 = new Identifier(r1.Name, PrimitiveType.Word32, r1);
this.sc = new ServiceContainer();
sc.AddService<DecompilerHost>(new FakeDecompilerHost());
sc.AddService<DecompilerEventListener>(new FakeDecompilerEventListener());
sc.AddService<IFileSystemService>(new FileSystemServiceImpl());
}
示例4: CreateInitialState
private ProcessorState CreateInitialState(IProcessorArchitecture arch, Dictionary<string, object> args)
{
var state = arch.CreateProcessorState();
if (!args.ContainsKey("--reg"))
return state;
var regs = (List<string>)args["--reg"];
foreach (var regValue in regs.Where(r => !string.IsNullOrEmpty(r)))
{
var rr = regValue.Split(':');
if (rr == null || rr.Length != 2)
continue;
var reg = arch.GetRegister(rr[0]);
state.SetRegister(reg, Constant.Create(reg.DataType, Convert.ToInt64(rr[1], 16)));
}
return state;
}
示例5: RegId
private Identifier RegId(
string name,
IProcessorArchitecture arch,
string reg,
DataType dt)
{
return new Identifier(
name,
dt,
arch.GetRegister(reg));
}