Node: Frame Directive, Previous: Freeregs Directive, Up: Xtensa Directives

### frame

This directive tells the assembler to emit information to allow the debugger to locate a function's stack frame. The syntax is:

             .frame reg, size

where reg is the register used to hold the frame pointer (usually the same as the stack pointer) and size is the size in bytes of the stack frame. The `.frame` directive is typically placed immediately after the `ENTRY` instruction for a function.

In almost all circumstances, this information just duplicates the information given in the function's `ENTRY` instruction; however, there are two cases where this is not true:

1. The size of the stack frame is too big to fit in the immediate field of the `ENTRY` instruction.
2. The frame pointer is different than the stack pointer, as with functions that call `alloca`.