??? 11/10/07 10:40 Read: times |
#146831 - void-void function pointers need not be slow Responding to: ???'s previous message |
This depends on the used compiler of course, but especially function pointers to void-void functions need not be slow on an 8051. There are no parameters that need to be put on the stack and accessed there. Only the call needs to be a bit different but can be as small as the following:
lcall Foo ;normal call to function mov dpl,LOW(pFoo) ;load dptr with function pointer mov dph,HIGH(pFoo) lcall Trampoline ;call the trampoline to make it a call ... Trampoline: clr a jmp @a+dptr Even when there are parameters and a return value, as long as they can be passed in registers the performance penalty is very low. Maarten |
Topic | Author | Date |
C : pointers of function und pointers of pointers | 01/01/70 00:00 | |
Function pointers and stuff | 01/01/70 00:00 | |
Parameter passing in C | 01/01/70 00:00 | |
C FAQ | 01/01/70 00:00 | |
Function pointer demo | 01/01/70 00:00 | |
Heads up | 01/01/70 00:00 | |
True | 01/01/70 00:00 | |
I use function pointers all the time | 01/01/70 00:00 | |
void-void function pointers need not be slow | 01/01/70 00:00 | |
correct, with a caveat | 01/01/70 00:00 | |
thank you all. | 01/01/70 00:00 |