It is also a convention that a subroutine would push a copy of the frame pointer on the stack first. In other words, almost every subroutine starts with the following instruction:
Immediately after this instruction, the frame pointer is rewritten to begin a reference point of the current invocation;