Ok, make it a const function pointer then. And to get 
rid of the warning add a cast too:

void (* const fp)(void) = (void (*)(void))0xFFF0;
fp();

Now it's as small as the inline asm.

Maarten

> The resulting code using the C version generates this assembly instructions:
> 
> mov     _fp,#0xF0
> mov     (_fp + 1),#0xFF
> .
> .
> .
> mov     dpl,_fp
> mov     dph,(_fp + 1)
> lcall   __sdcc_call_dptr
> 
> That is 15 bytes of code memory and two bytes of RAM.  On the other 
> hand, the assembly call (within C)
> 
> lcall 0xfff0
> 
> takes only 3 bytes of code memory.
> 
> Jesus
> 
> At 02:25 PM 18/01/2009, you wrote:
> 
> >Or in C
> >
> >void (*fp)(void) = 0xfff0;
> >fp();
> >
> >
> > > Try:
> > >
> > > _asm lcall 0xfff0 _endasm;
> > >
> > >
> > > At 10:59 AM 18/01/2009, Gudjon I. Gudjonsson wrote:
> > >
> > > >Hi
> > > >     Sorry once again if the question is silly but I am trying to call 
> > > > the
> > > >PGM_MTP at address 0xFFF0
> > > >function in the in application bootloader for the NXP 8051 
> > microcontrollers.
> > > >The problem is that I don't know how to put an absolute address on a
> > > >function. I know how to absolute address variables but not functions. Can
> > > >someone help me.
> > > >
> > > >Thanks
> > > >Gudjon
> > > >
> > > >----------------------------------------------------------------- 
> > -------------
> > > >This SF.net email is sponsored by:
> > > >SourcForge Community
> > > >SourceForge wants to tell your story.
> > > >http://p.sf.net/sfu/sf-spreadtheword
> > > >_______________________________________________
> > > >Sdcc-user mailing list
> > > >Sdcc-user@lists.sourceforge.net
> > > >https://lists.sourceforge.net/lists/listinfo/sdcc-user
> > >
> > >
> > > 
> > ------------------------------------------------------------------------------
> > > This SF.net email is sponsored by:
> > > SourcForge Community
> > > SourceForge wants to tell your story.
> > > http://p.sf.net/sfu/sf-spreadtheword
> > > _______________________________________________
> > > Sdcc-user mailing list
> > > Sdcc-user@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/sdcc-user
> > >
> >
> >
> >
> >------------------------------------------------------------------------------
> >This SF.net email is sponsored by:
> >SourcForge Community
> >SourceForge wants to tell your story.
> >http://p.sf.net/sfu/sf-spreadtheword
> >_______________________________________________
> >Sdcc-user mailing list
> >Sdcc-user@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/sdcc-user
> 
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> _______________________________________________
> Sdcc-user mailing list
> Sdcc-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sdcc-user
> 



------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to