コード例 #1
0
ファイル: Ps3PlatformTests.cs プロジェクト: killbug2004/reko
        public void Ps3p_GetTrampoline()
        {
            var arch = new PowerPcArchitecture64();
            var m = new InstructionBuilder(arch, Address.Ptr32(0x10030000));
            m.Lis(m.r11, 0x1006);
            m.Lwz(m.r11, 0x1234, m.r11);
            m.Mtctr(m.r11);
            m.Bctr();
            var host = mr.Stub<IRewriterHost>();
            host.Stub(h => h.GetImportedProcedure(
                Arg<Address>.Matches(a => a.ToLinear() == 0x10061234),
                Arg<Address>.Is.Anything)).Return(new ExternalProcedure("foo", null));
            mr.ReplayAll();

            ProcedureBase proc = arch.GetTrampolineDestination(m.Instructions, host);

            Assert.IsNotNull(proc);
            Assert.AreEqual("foo", proc.Name);
        }
コード例 #2
0
 private void RunTest(Action<InstructionBuilder> m)
 {
     b = new InstructionBuilder(arch, Address.Ptr32(0x01000000));
     m(b);
     ppcInstrs = b.Instructions;
 }