6.6.5 Stack pointer manipulation

In the stack effects of the following words, ignore the occurences of “...” in the stack-pointer fetching words.

sp0 ( – a-addr  ) gforth-0.4 “sp0”

User variable – initial value of the data stack pointer.

sp@ ( S:... – a-addr ) gforth-0.2 “sp-fetch”
sp! ( a-addr – S:... ) gforth-0.2 “sp-store”
fp0 ( – a-addr  ) gforth-0.4 “fp0”

User variable – initial value of the floating-point stack pointer.

fp@ ( f:... – f-addr ) gforth-0.2 “fp-fetch”
fp! ( f-addr – f:... ) gforth-0.2 “fp-store”
rp0 ( – a-addr  ) gforth-0.4 “rp0”

User variable – initial value of the return stack pointer.

rp@ ( – a-addr ) gforth-0.2 “rp-fetch”
rp! ( a-addr – ) gforth-0.2 “rp-store”
lp0 ( – a-addr  ) gforth-0.4 “lp0”

User variable – initial value of the locals stack pointer.

lp@ ( – c-addr ) gforth-0.2 “lp-fetch”

C_addr is the current value of the locals stack pointer.

lp! ( c-addr – ) gforth-internal “lp-store”