[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,
Simon
- [avr-gcc-list] Interrupt prologue and epilogue,
Simon Han <=