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 }
public void Push(callstack_frame obj) { base.Push(obj); }