At 07:57 AM 5/5/05 +0000, andy_moz wrote:
>I use IAR C for ARM V4.20a, and I try write FIQ as:
>__fiq __arm void my_fiq (void)
>
>When I open listing, I see this prologue code:
>
>00000000 04E04EE2 SUB LR,LR,#+0x4
>00000004 0F5F2DE9 STMDB SP!,{R0-R3,R8-R12,LR}
>
>But fiq has own shadow registers r8-r15.
>Why compiler saves this registers in stack?
>I think, that this is not necessary and make undesirable overhead.
>Can I avoid this somehow?
Never trust the compiler for this sort of work. Do it in assembler. I've
run into too many compilers with either poor or outright broken code
generation in this area to ever rely on it.
Robert
" 'Freedom' has no meaning of itself. There are always restrictions, be
they legal, genetic, or physical. If you don't believe me, try to chew a
radio signal. " -- Kelvin Throop, III
http://www.aeolusdevelopment.com/Message
Re: [lpc2000] IAR C and FIQ isr
2005-05-05 by Robert Adsett
Attachments
- No local attachments were found for this message.