void Sh4_int_Run()
{
    sh4_int_bCpuRun=true;

    s32 l=SH4_TIMESLICE;

#if !defined(TARGET_BOUNDED_EXECUTION)
    do
#else
    for (int i=0; i<10000; i++)
#endif
    {
        do
        {
            u32 op=ReadMem16(next_pc);
            next_pc+=2;

            OpPtr[op](op);
            l-=CPU_RATIO;
        } while(l>0);
        l+=SH4_TIMESLICE;
        UpdateSystem_INTC();
#if !defined(TARGET_BOUNDED_EXECUTION)
    }
    while(sh4_int_bCpuRun);

    sh4_int_bCpuRun=false;
#else
    }
void Sh4_int_Run()
{
	sh4_int_bCpuRun=true;

	s32 l=SH4_TIMESLICE;

#if !defined(TARGET_BOUNDED_EXECUTION)
	do
#else
	for (int i=0; i<10000; i++)
#endif
	{
#if !defined(NO_MMU)
		try {
#endif
			do
			{
				u32 addr = next_pc;
				next_pc += 2;
				u32 op = IReadMem16(addr);

				OpPtr[op](op);
				l -= CPU_RATIO;
			} while (l > 0);
			l += SH4_TIMESLICE;
			UpdateSystem_INTC();
#if !defined(NO_MMU)
		}
		catch (SH4ThrownException ex) {
			Do_Exception(ex.epc, ex.expEvn, ex.callVect);
			l -= CPU_RATIO * 5;
		}
#endif
#if !defined(TARGET_BOUNDED_EXECUTION)
	} while(sh4_int_bCpuRun);

	sh4_int_bCpuRun=false;
#else
	}
void Sh4_int_Run()
{
	sh4_int_bCpuRun=true;

	s32 l=SH4_TIMESLICE;

	do
	{
		do
		{
			u32 op=ReadMem16(next_pc);
			next_pc+=2;

			OpPtr[op](op);
			l-=CPU_RATIO;
		} while(l>0);
		l+=SH4_TIMESLICE;
		UpdateSystem_INTC();

	} while(sh4_int_bCpuRun);

	sh4_int_bCpuRun=false;
}