[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] 2 tricky questions
From: |
Iztok Zupet |
Subject: |
Re: [avr-gcc-list] 2 tricky questions |
Date: |
Tue, 17 Jun 2003 14:54:36 +0200 |
User-agent: |
KMail/1.4.3 |
On Tuesday 17 June 2003 13:33, Marko Panger AGB Lab wrote:
> > #define dosomething asm volatile("do something")
I normally use the above trick, like:
#define high(x) \
({unsigned char t; asm volatile ("lds %0, (%1+1)" :"=r"(t) :"m"(x)); t;})
>
> By the "user point of view" calling an inline function is the same as
> calling a normal function. The syntax is the same. In fact I was looking
> for this. What does the compiler is another issue. I wanted the syntax of a
> normal function, but implemented as a macro - inline functions.
>
> > > The best soultion would be to replace the interrupt pro/epi
> > > functions with my functions or to call an assembler defined macro.
> >
> > By default, they aren't functions but are generated explicitly within
> > each function. Are you using -mcall-prologues? Then you're getting
> > them as functions.
>
> Off course, pro/epi sequences aren't functions. I want to change these
> sequences (use mine), but only for interrupts, not for normal functions.
> So, is it possible to do this ?
>
> > For normal prologue /functions/, yes, they are really getting their
> > return addresses pushed onto the stack. How else is the function
> > supposed to return to the caller? You probably don't want a function
> > for this, but your wording is a bit ambiguous here, sorry.
>
> The returning from the interrupt is managed by me. We misunderstood here.
>
BTW, the PROCESSOR iself pushes the return addres to stack when interrupted
not the GCC!!! That's why it's there in a _naked_ function.
If the return from interrupt has to be mingled with, just pop it from stack
and push another address there (Like the old PDP11/RSX11 used to do).
Iztok
- [avr-gcc-list] 2 tricky questions, Marko Panger AGB Lab, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Tvrtko A. Uršulin, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Joerg Wunsch, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Marko Panger AGB Lab, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Joerg Wunsch, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Marko Panger AGB Lab, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions,
Iztok Zupet <=
- Re: [avr-gcc-list] 2 tricky questions, Marko Panger AGB Lab, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Joerg Wunsch, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Marko Panger AGB Lab, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Joerg Wunsch, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Kang Tin LAI, 2003/06/17
- Re: [avr-gcc-list] 2 tricky questions, Christian Vogel, 2003/06/18
- Re: [avr-gcc-list] 2 tricky questions, Joerg Wunsch, 2003/06/17
Re: [avr-gcc-list] 2 tricky questions, Julius Luukko, 2003/06/17