Hi,
The stack may be located anywhere in the 16-megabyte address space that has RAM, and can be any size up to the amount of available RAM. The stack is used to automatically save the return address for subroutine calls, the return address and CPU registers during interrupts, and for local variables.
There is an option in project properties to see stack consumption:

The stack consumption computation is a feature of the linker that helps compute the theoretical maximal amount of stack space an application requires at runtime. This estimation can be done for the whole application or for user-specified call sub-trees. The result of the estimation is printed out in the map file along with the corresponding call tree paths. This feature is controlled by the -StackConsumption command line option. However, the specific information needed for this feature is issued by the compiler and encoded in the object file.
Usage of CONSUMPTION Directive - Test Case
shows a test case of usage of CONSUMPTION directive.
Listing 3.59 Usage of CONSUMPTION Directive
Void main() {
Asm_func(); /* Call to an assembly function defined in test.asm*/
}
Stack usage of main to Asm_func is given by compiler in object file but assembler does not provide stack usage of Asm_func routine. CONSUMPTION directive can be added to specify the stack usage of Asm_func.
PRM Directive specification, as shown in the following listing:
Listing 3.60 PRM Directive
STACK_CONSUMPTION
ROOT _Startup
END
CONSUMPTION Asm_func 100;
END