[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] Interrupt prologue and epilogue

From: Simon Han
Subject: [avr-gcc-list] Interrupt prologue and epilogue
Date: Wed, 11 Oct 2006 09:16:49 -0700

Hi all,

Is there any documentation about how interrupt prologue and epilogue are implemented? I am mainly interested in what registers need to be save and why. Please treat me as a person who is trying to implement interrupt handler by hand. :-)

I understand that we have to save call-used registers, but I am not clear why r28 and r29 need to be saved. Further, why is it safe to not save other registers? Prologue also does the following, which I hope to figure out.

push __zero_reg__
push __tmp_reg__
in __tmp_reg__,__SREG__
push __tmp_reg__
clr __zero_reg__

Thank you for any pointers,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]