Interpretation semantics for this word are undefined.
Execution:
( i * n +n -- ) ( R: -- j * x +n )
Remove n+1 items from the data stack and store them for later
retrieval by NR>. The return stack may be used to store the
data. Until this data has been retrieved by NR>:
this data will not be overwritten by a subsequent invocation of
N>R and
a program may not access data placed on the return stack before
the invocation of N>R.
An implementation may store the stack items in any manner. It may
store them on the return stack, in any order. A stack-constrained
system may prefer to use a buffer to store the items and place a
reference to the buffer on the return stack.
This implementation depends on the return address being on
the return stack.
:N>R\ xn .. x1 N -- ; R: -- x1 .. xn n \Transfer N items and count to the return stack. DUP\ xn .. x1 N N -- BEGIN DUP WHILE ROTR>SWAP>R>R\ xn .. N N -- ; R: .. x1 -- 1-\ xn .. N 'N -- ; R: .. x1 -- REPEAT DROP\ N -- ; R: x1 .. xn -- R>SWAP>R>R ;