add recurse, move

llvm
Clyne 2 years ago
parent 9a5b8581d0
commit 572a79b4c7
Signed by: clyne
GPG Key ID: 3267C8EBF3F9AFC7

@ -96,7 +96,7 @@ yes 6.1.1805 LSHIFT
yes 6.1.1870 MAX yes 6.1.1870 MAX
yes 6.1.1880 MIN yes 6.1.1880 MIN
yes 6.1.1890 MOD yes 6.1.1890 MOD
6.1.1900 MOVE yes 6.1.1900 MOVE
yes 6.1.1910 NEGATE yes 6.1.1910 NEGATE
yes 6.1.1980 OR yes 6.1.1980 OR
yes 6.1.1990 OVER yes 6.1.1990 OVER
@ -104,7 +104,7 @@ yes 6.1.2033 POSTPONE
yes 6.1.2050 QUIT yes 6.1.2050 QUIT
yes 6.1.2060 R> yes 6.1.2060 R>
yes 6.1.2070 R@ yes 6.1.2070 R@
6.1.2120 RECURSE yes 6.1.2120 RECURSE
yes 6.1.2140 REPEAT yes 6.1.2140 REPEAT
yes 6.1.2160 ROT yes 6.1.2160 ROT
yes 6.1.2162 RSHIFT yes 6.1.2162 RSHIFT

@ -116,9 +116,9 @@
: create align here bl word count nip cell+ allot align : create align here bl word count nip cell+ allot align
['] _lit , here 3 cells + , ['] exit , 0 , ['] _lit , here 3 cells + , ['] exit , 0 ,
dup @ 31 & over _latest @ - 6 << or over ! _latest ! ; dup @ 31 & over _latest @ - 6 << or over ! _latest ! ;
: does> _latest @ : _latword _latest @
dup @ 31 & + cell+ aligned dup @ 31 & + cell+ aligned ;
2 cells + : does> _latword 2 cells +
['] _jmp over ! cell+ ['] _jmp over ! cell+
here swap ! ] ; here swap ! ] ;
: >body cell+ @ ; : >body cell+ @ ;
@ -132,3 +132,10 @@
: quit begin _rdepth 1 > while r> drop repeat postpone [ ; : quit begin _rdepth 1 > while r> drop repeat postpone [ ;
: abort begin depth 0 > while drop repeat quit ; : abort begin depth 0 > while drop repeat quit ;
: recurse _latword , ; imm
: move begin dup 0 > while
rot dup @ >r cell+
rot r> over ! cell+
rot 1- repeat drop 2drop ;

Loading…
Cancel
Save