--- a/src/sh4/sh4x86.c Mon Nov 19 08:51:03 2007 +0000 +++ b/src/sh4/sh4x86.c Tue Nov 20 08:31:34 2007 +0000 @@ -2832,9 +2832,10 @@ if( sh4_x86.in_delay_slot ) { SLOTILLEGAL(); } else { + load_imm32( R_ECX, pc+2 ); + store_spreg( R_ECX, REG_OFFSET(pc) ); load_imm32( R_EAX, imm ); call_func1( sh4_raise_trap, R_EAX ); - ADD_imm8s_r32( 4, R_ESP ); sh4_x86.tstate = TSTATE_NONE; exit_block_pcset(pc); sh4_x86.branch_taken = TRUE;