Not really, your advice was good, I didn't provide enough specification for you! As Karlos has also pointed out function pointers are the legal way to do this... I just don't want to save the registers for every function call!
Necessarily it is not saving the registers for every function call. It is platform specific...