We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I am using assembly language routines called from C code. Within the assembly routines, is it necessary to save the registers used? Ex: MY_ASM_ROUTINE: PUSH ACC ; necessary ? CLR A ; overwrite ACC POP ACC RET main(){ MY_ASM_ROUTINE(); } Or does the C compiler assume that registers can be overwritten by calls to routines? I couldn't find the answer in the manuals. Thanks in advance Jim Burke
Thanks for the reply Jon. I can therefore assume that the compiler will restore registers after a call, even if it is optimizing performance by using registers. I do not need to save used registers in an assembly program ( an ISR is an exception ) since the caller will assume its registers may have been overwritten. Thanks again for your reply. It eliminated my doubt. Jim