322 |
if ((loglevel & CPU_LOG_EXEC)) { |
if ((loglevel & CPU_LOG_EXEC)) { |
323 |
#if defined(TARGET_I386) |
#if defined(TARGET_I386) |
324 |
/* restore flags in standard format */ |
/* restore flags in standard format */ |
325 |
|
#ifdef reg_EAX |
326 |
env->regs[R_EAX] = EAX; |
env->regs[R_EAX] = EAX; |
327 |
|
#endif |
328 |
|
#ifdef reg_EBX |
329 |
env->regs[R_EBX] = EBX; |
env->regs[R_EBX] = EBX; |
330 |
|
#endif |
331 |
|
#ifdef reg_ECX |
332 |
env->regs[R_ECX] = ECX; |
env->regs[R_ECX] = ECX; |
333 |
|
#endif |
334 |
|
#ifdef reg_EDX |
335 |
env->regs[R_EDX] = EDX; |
env->regs[R_EDX] = EDX; |
336 |
|
#endif |
337 |
|
#ifdef reg_ESI |
338 |
env->regs[R_ESI] = ESI; |
env->regs[R_ESI] = ESI; |
339 |
|
#endif |
340 |
|
#ifdef reg_EDI |
341 |
env->regs[R_EDI] = EDI; |
env->regs[R_EDI] = EDI; |
342 |
|
#endif |
343 |
|
#ifdef reg_EBP |
344 |
env->regs[R_EBP] = EBP; |
env->regs[R_EBP] = EBP; |
345 |
|
#endif |
346 |
|
#ifdef reg_ESP |
347 |
env->regs[R_ESP] = ESP; |
env->regs[R_ESP] = ESP; |
348 |
|
#endif |
349 |
env->eflags = env->eflags | cc_table[CC_OP].compute_all() | (DF & DF_MASK); |
env->eflags = env->eflags | cc_table[CC_OP].compute_all() | (DF & DF_MASK); |
350 |
cpu_dump_state(env, logfile, fprintf, X86_DUMP_CCOP); |
cpu_dump_state(env, logfile, fprintf, X86_DUMP_CCOP); |
351 |
env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C); |
env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C); |