A stack pointer is a processor register that identifies the current top of a function-call stack area. On this machine, %rsp points to the highest memory address available for the current function's data, while %rbp marks the stack area's base. section 13.5
Function entry in assembler
The fgoto function saves the caller's base pointer, copies %rsp into %rbp, and subtracts 48 from %rsp: pushq %rbp; movq %rsp, %rbp; subq $48, %rsp. This reserves space for fgoto's automatic objects. The function then addresses objects such as n with offsets relative to %rbp. section 13.5



