}\r
#endif\r
\r
-void FlushPC(void)\r
+void FlushPC(int force)\r
{\r
#if MEMHANDLERS_NEED_PC\r
- if (pc_dirty)\r
- ot(" str r4,[r7,#0x40] ;@ Save PC\n");\r
-#endif\r
+ force |= pc_dirty;\r
pc_dirty = 0;\r
+#endif\r
+ if (force)\r
+ ot(" str r4,[r7,#0x40] ;@ Save PC\n");\r
}\r
\r
static void PrintFramework()\r
EaCalc(6,0x003f,cea,size);\r
\r
// must save PC, need a spare register\r
- FlushPC();\r
+ FlushPC(1);\r
\r
ot(";@ r4=Register Index*4:\n");\r
if (decr) ot(" mov r4,#0x40 ;@ order reversed for -(An)\n");\r
void ot(const char *format, ...);\r
void ltorg();\r
int MemHandler(int type,int size,int addrreg=0,int need_addrerr_check=1);\r
-void FlushPC(void);\r
+void FlushPC(int force=0);\r
\r
// OpAny.cpp\r
extern int g_op;\r