BACKUP - unbump the stack.

Usage:

backup  bump=>XREG

Where:

bump=>XREG
specifies an X register to use in the "unbumping" operation. If no "bump" operand is specified, the default register is "x.bump". If the "x.bump" register still contains the proper stack bump value, you can reduce the amount of code "backup" generates by specifying "bump=>" (i.e. give the "bump" keyword option but no value).

Description:

"backup" produces code to "unbump" the stack. If "x.bump" still contains the appropriate stack bump value, the code that is generated is

xed   .retrn

If "x.bump" does not contain the right value, "backup" produces

ldx   XREG,,du,p.fram
xed   .retrn
sblx  XREG,,du,p.fram

where XREG is the X register given as argument of the "bump" keyword option.

Note that when the function using "backup" can take a variable number of arguments, the computed value of the stack bump will be larger than needed.

Copyright © 1996, Thinkage Ltd.