The frame pointer always points to the return address in the activation record and because it doesn't move during the execution of the function body, we can always find the variables at the same place relative to the frame pointer. 