示例#1
0
        public MipsSnapshot CreateSnapshot()
        {
            MipsSnapshot snapshot = new MipsSnapshot("Soft64");

            snapshot.PC = m_State.PC;
            snapshot.Lo = m_State.Lo;
            snapshot.Hi = m_State.Hi;

            for (Int32 i = 0; i < 32; i++)
            {
                snapshot.GPR[i] = m_State.GPRRegs[i];
            }

            return(snapshot);
        }
        private void CompareSnapshot(MipsSnapshot snapshotA, MipsSnapshot snapshotB)
        {
            xaml_CompareResults.Document.Blocks.Clear();
            xaml_CompareResults.Document.Blocks.Add(new Paragraph());

            xaml_CompareResults.AppendText(String.Format("        {0}  |  {1}\n", snapshotA.Name, snapshotB.Name));
            xaml_CompareResults.AppendText(String.Format("PC    0x{0:X16} | 0x{1:X16}\n", snapshotA.PC, snapshotB.PC));
            xaml_CompareResults.AppendText(String.Format("Lo    0x{0:X16} | 0x{1:X16}\n", snapshotA.Lo, snapshotB.Lo));
            xaml_CompareResults.AppendText(String.Format("Hi    0x{0:X16} | 0x{1:X16}\n", snapshotA.Hi, snapshotB.Hi));

            for (Int32 i = 0; i < 32; i++)
            {
                xaml_CompareResults.AppendText(String.Format("GPR{2:D2} 0x{0:X16} | 0x{1:X16}\n", snapshotA.GPR[i], snapshotB.GPR[i], i));
            }
        }