long tick=0;

SIGNAL(SIG_OVERFLOW0)
{
  tick++
}

while(1)
{
if(tick==100) break;
}

tick을 global로 선언하고 while에서 register변수로 선언되어 있는지
어셈블러 확인 안했지만 전혀 break가 안걸린다.

volatile long tick=0;
선언하면 잘된다.

Tskit