propeller.push.instructions.polymorphic
Polymorphic Instructions (for all stacks, with the exception of non-data ones like input and output)
_deep_dup
Pushes a copy of an indexed item from deep in the stack, without removing it. The top INTEGER is used to determine the index from the BOTTOM of the stack.
_dup
Duplicates the top item of the stack. Does not pop its argument (since that would negate the effect of the duplication)
_dup_items
Duplicates the top n items on the stack, one time each. The number n is determined by the top INTEGER. If n <= 0, no items will be duplicated. If fewer than n items are on the stack, the entire stack will be duplicated. The final number of items on the stack is limited to globals/max-stack-items.
_dup_times
Duplicates n copies of the top item (i.e leaves n copies there). Does not pop its argument (since that would negate the effect of the duplication). The number n is determined by the top INTEGER. For n = 0, equivalent to POP. For n = 1, equivalent to NOOP. For n = 2, equivalent to DUP. Negative values of n are treated as 0. The final number of items on the stack is limited to globals/max-stack-items.
_empty
Pushes TRUE onto the BOOLEAN stack if the stack is empty. Otherwise FALSE
_eq
Pushes TRUE onto the BOOLEAN stack if the top two items are equal. Otherwise FALSE
_flush
Empties the given stack
_pop
Pops the given stack
_rot
Rotates the top three items on the stack (i.e. pulls the third item out and pushes it on top). Equivalent to (yank state stack-type 2)
_shove
Inserts the top item deeper into the stack, using the top INTEGER to determine how deep
_stack_depth
Pushes the given stack’s depth onto the INTEGER stack
_swap
Swaps the top two items on the stack
_yank
Pushes an indexed item from deep in the stack, removing it. The top INTEGER is used to determine how deep to yank from
_yank_dup
Pushes a copy of an indexed item from deep in the stack, without removing it. The top INTEGER is used to determine how deep to yankdup from