Hello, 1)I would like to check the stack of the reentrant function in order to know that i don't have any overflow. Do you know how i can do it? 2) Is it possible to use an external stack (stack in xdata) without declaring the function as reentrant? Thank you Kaoru
Yes but when we are in the LARGE MODE, the reentrant function have a stack in the extended memory (XRAM), and this what i want to check for the stack of the RAM there is no problem.
The following assembly routine returns the large model reentrant stack pointer.
PUBLIC get_xbp EXTRN DATA (?C_XBP) ?PR?get_xbp?get_xbp SEGMENT CODE RSEG ?PR?get_xbp?get_xbp ; void xdata *get_xbp (void) get_xbp: USING 0 MOV R6, ?C_XBP MOV R7, ?C_XBP+1 RET END
void xdata *get_xbp();
Thank you, I have a XRAM with a size of 4k only, in this case, the stack will begin at 0xFFF? Kaoru