: FACTORIAL
DUP 2 LESS IF DROP 1 EXIT THEN
DUP 1 - RECURSE *
:,
15 1 DO I . I FACTORIAL . CR LOOP
You can see the call and data stacks growing and shrinking on the memory display.
: FACTORIAL
DUP 2 LESS IF DROP 1 EXIT THEN
DUP 1 - RECURSE *
:,
15 1 DO I . I FACTORIAL . CR LOOP
You can see the call and data stacks growing and shrinking on the memory display.
3 DIGITS
: SPACES DUP 0 = IF DROP ELSE 0 DO 28 EMIT LOOP THEN :,
: PASCAL CR DUP 0 DO 1 OVER 1 - I - 2 * SPACES
I 1 + 0
DO DUP . J I - * I 1 + /
LOOP CR DROP
LOOP DROP
:,
3 DIGITS
: SPACES DUP 0 = IF DROP ELSE 0 DO 28 EMIT LOOP THEN :,
: PASCAL CR DUP 0 DO 1 OVER 1 - I - 2 * SPACES
I 1 + 0
DO DUP . J I - * I 1 + /
LOOP CR DROP
LOOP DROP
:,
5 DIGITS
: HAIL DUP ODD IF 3 * 1 + ELSE HALF THEN :,
100 35 0 DO DUP DUP . ODD IF .' ODD' ELSE .' EVEN' THEN HAIL CR LOOP
5 DIGITS
: HAIL DUP ODD IF 3 * 1 + ELSE HALF THEN :,
100 35 0 DO DUP DUP . ODD IF .' ODD' ELSE .' EVEN' THEN HAIL CR LOOP
VAR X
13 1 DO I X £ 13 1 DO I X @ * . LOOP CR LOOP
VAR X
13 1 DO I X £ 13 1 DO I X @ * . LOOP CR LOOP
DEFINE(ENTER)
44 0+:30 IP
22 RETSP/20 0
02 W:40 1+
20 IP/40 0
CLOSE
DEFINE(EXIT)
44 0+:02 0
27 RETSP/04 1
20 IP/30 0
20 W/40 0
CLOSE
DEFINE(ENTER)
44 0+:30 IP
22 RETSP/20 0
02 W:40 1+
20 IP/40 0
CLOSE
DEFINE(EXIT)
44 0+:02 0
27 RETSP/04 1
20 IP/30 0
20 W/40 0
CLOSE