projects
/
rrq
/
jonasforth.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
09963525c9e3a9f343efdafd87bbf476ca05a252
[rrq/jonasforth.git]
/
sys.f
1
S" :" CREATE ] DOCOL
2
READ-WORD CREATE
3
LIT DOCOL ,
4
]
5
EXIT [
6
7
: ;
8
LIT EXIT ,
9
[ S" [" FIND >CFA , ]
10
EXIT
11
[ IMMEDIATE
12
13
: / /MOD DROP ;
14
: MOD /MOD SWAP DROP ;
15
: NEG 0 SWAP - ;
16
17
: IF IMMEDIATE
18
' 0BRANCH ,
19
HERE @
20
0 ,
21
;
22
23
: THEN IMMEDIATE
24
DUP
25
HERE @ SWAP -
26
SWAP !
27
;
28
29
: ELSE IMMEDIATE
30
' BRANCH ,
31
HERE @
32
0 ,
33
SWAP DUP HERE @ SWAP - SWAP !
34
;
35
36
: BEGIN IMMEDIATE
37
HERE @
38
;
39
40
: UNTIL IMMEDIATE
41
' 0BRANCH ,
42
HERE @ - ,
43
;
44
45
: FIB
46
0 1
47
0
48
BEGIN
49
ROT
50
DUP ROT +
51
ROT ROT
52
53
1 +
54
DUP 4 PICK = UNTIL
55
DROP SWAP DROP SWAP DROP
56
;
57
58
S" 10 FIB = " TELL
59
10 FIB .U
60
S" (Expected: 59)" TELL NEWLINE
61