|
|
Table of Contents
- 2.1 Leaf and Non-Leaf Procedures
- 2.2 Storage Areas Required for a Call
- 2.3 Frame Marker Area
- 2.4 Fixed Arguments Area
- 2.5 Variable Arguments Area
Because no explicit procedure call stack exists in the PA-RISC processor
architecture, the stack is defined and manipulated entirely by software
convention. When a process is initiated by the operating system, a virtual
address range is allocated to that process to be used for the call stack. The
stack pointer (gr30) is initialized to point to the low end of this range. As
procedures are called, the stack pointer is incremented to allow the called
procedure's frame to exist at the addresses below the stack pointer. As
procedures are exited, the stack pointer is decremented by the same amount.
The stack pointer always points to the first word above the current frame.
|