詳しく呼んで見たけど
void timerHandler()
がいろんなレジスタ壊してるように見える…
(ほかの人もいってると思うけど、割り込みハンドラの入り口ぐらいは
アセンブリで書いたほうがいいのではないかなあ)