SLAA534A June 2013 – June 2020
Local variables of a procedure, i.e. variables with C storage class auto, are allocated either on the stack or in registers, at the compiler's discretion. Variables on the stack are addressed via the stack pointer (R1).
The stack is allocated from the .stack section, and is part of the data segment(s) of the program.
The stack grows from high addresses toward low addresses. The stack pointer must always remain aligned on a 2-word (8 byte) boundary. The SP points at the first address in the current frame. That is, the function may read/write 0(SP).
Section 4.6 provides more detail on the stack conventions and local frame structure.