Page 52 of 62
SBasic User's Manual SBasic Version 2.7 Page 52
Printed: December 5, 1999
In some cases, you want to remove items from the data stack without
actually using the removed values. The DROP statement serves this
purpose. It takes a single argument, which gives the number of items
(NOT BYTES) to remove from the data stack. For the 68hc11, DROP
removes two bytes for each value. For example:
drop 3 ' remove 6 bytes on a 68hc11
SBasic does not check that you are DROPping a valid number of items
from the stack. If you DROP too many items, you risk corrupting the
return stack, located immediately above the data stack on a 68hc11.
If this happens, your program will likely crash.
The SWAP statement makes it easier to manipulate items on the data
stack. It exchanges the values in the topmost and second cells on the
data stack.
Example:
push 2 ' first push a 2
push 3 ' stack has 3, then 2
swap ' now stack has 2, then 3
Note that SWAP does not alter the size of the data stack, only the
contents of the top two cells on the stack. SWAP always uses 16-bit
cells.
Do not confuse the functions of SWAPB, which exchanges bytes within a
variable, and SWAP, which exchanges cells on the data stack.