blob: eaf93c1a7a1e7a78e2e7824e3c082b218096d29e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
: [compile] parse find drop >cfa compile, ; immediate
: ' parse find drop >cfa [compile] lit ; immediate \ note: no error handling (yet)
: begin here @ ; immediate
: again branch here @ 4 + - d, ; immediate \ add 4 to get to beginning of the next instruction
: if 0branch here @ 0 d, ; immediate ( I: -- a )
: then dup here @ swap - 4 - swap d! ; immediate
: / /mod swap drop ;
: mod /mod drop ;
: syswrite ( u c-addr fd -- n ) 1 syscall3 ;
: say ( c-addr u -- ) swap 1 syswrite drop ;
: saying 0 if bye then ; \ err: failure will result in infinite loop?
\ in specific it jumps back to the beginning of the word it seems. why?
\ the correct jump val should be 0x1a
saying TESTSTR say bye
\ TESTSTR say bye
|