Tamas Rudnai escreveu: >> You could put a 'jump table' at a fixed location in your bootstrap's >> program space, with each entry jumping to one routine that you may call >> from your application. >> = > > Or you can use the MAP file to figure out the function entries and some > Perl/Python scripts to generate a similar function declaration as mention= ed > by Isaac. You could then put that script into the tool path so that it wi= ll > run automatically every time you compile your application, so it will nev= er > out of sync. > > Tamas > = This may work, but the bootstrap and application versions must be paired (each version of the application will only work with the corresponding version of the bootstrap). One thing I forgot to mention: The static and global variables are a concern also. The local (automatic) variables and dynamically allocated memory are OK. You must fix the location of every static and global variable that is common to both the bootstrap and the application. Other approach is to provide to every bootstrap function called by the application a pointer to an area of memory in which the global variables should reside. This approach is less efficient (code size and speed) but is more flexible. For instance, you may provide a bootstrap function that returns the amount of memory needed by the file system routines, then the application dynamically allocates this memory and calls the other functions passing a pointer to this memory as an argument. This will make your application virtually independent of the bootstrap version. Regards, Isaac __________________________________________________ Fa=E7a liga=E7=F5es para outros computadores com o novo Yahoo! Messenger = http://br.beta.messenger.yahoo.com/ = -- = http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist