Пример #1
0
        public static void cstRemCall(uint ret, CallType rettype)
        {
#if !optimised_b
            if (cstCallStack.Count > 0)
            {
                callstack_frame t = cstCallStack.Pop();
                if (t.retadr != ret)
                {
                    mem.WriteLine("Call stack wrong Ret address;" + sh4_disasm.UintToHex(ret) + "!=" + sh4_disasm.UintToHex(t.retadr) + " sub start : " + sh4_disasm.UintToHex(t.startadr));
                    dc.dbger.mode = 1;
                }
                if (t.calltype != rettype)
                {
                    mem.WriteLine("Call stack wrong TYPE address;" + t.calltype.ToString() + "!=" + rettype.ToString() + " sub start : " + sh4_disasm.UintToHex(t.startadr));
                    //cstCallStack.Push(t);
                    //dc.dbger.SetBP(t.startadr);
                    dc.dbger.mode = 1;
                    //sh4.pc = t.retadr;
                }
            }
            else
            {
                mem.WriteLine("Call stack unexpected ret");
            }
#endif
        }
Пример #2
0
 public void Push(callstack_frame obj)
 {
     base.Push(obj);
 }