~rabbits/ornithologics

88fd2aa316ebe71dfd82f59ae03913b6d8b55eb5 — neauoire 2 years ago ee2b2c3
cardinal & identity
1 files changed, 44 insertions(+), 31 deletions(-)

M src/ornithologics.tal
M src/ornithologics.tal => src/ornithologics.tal +44 -31
@@ 8,7 8,7 @@
		;z ;cons JSR2
			;y ;cons JSR2
				;x ;cons JSR2
					;k ;cons JSR2
					;c ;cons JSR2
	;step JSR2
	;echo JSR2



@@ 50,24 50,11 @@ JMP2r

JMP2r

@last ( list* -- cell* )
@swap ( list* -- list* )

	&w INC2 INC2 LDA2 LDA2k ;nil NEQ2 ,&w JCN
	INC2 INC2

JMP2r

@join ( list-a* list-b* -- list-b* )

	STH2k ,last JSR INC2 INC2 STA2 STH2r

JMP2r

@length ( list* -- length* )

	LIT2r 0000
	&w INC2 INC2 INC2r LDA2 LDA2k ;nil NEQ2 ,&w JCN
	POP2 STH2r
	LDA2k STH2 ,pop JSR LDA2k STH2 ,pop JSR
	SWP2r
	STH2r ,cons JSR STH2r ,cons JSR

JMP2r



@@ 116,19 103,22 @@ JMP2r

JMP2r

( some functions )
( variables )

@x 8000 :nil
@y 8001 :nil
@z 8002 :nil
@a 8003 :nil
@b 8004 :nil
@c 8005 :nil

( library )

@m :mockingbird :nil
@k :kestrel :nil
@t :thrush :nil
@b :bluebird :nil
@c :cardinal :nil
@w :warbler :nil
@k :kestrel :nil
@i :identity :nil
@s :starling :nil

( Bekimet Forest )



@@ 138,32 128,55 @@ JMP2r

JMP2r

@thrush ( list* -- list* )
@kestrel ( list* -- list* )

	LDA2k STH2 ;pop JSR2
	LDA2k STH2 ;pop JSR2
	SWP2r
	STH2r ;cons JSR2
	;pop JSR2
	STH2r ;cons JSR2

JMP2r

@thrush ( list* -- list* )

	;swap JSR2

JMP2r

( Becekew Forest )

@warbler ( list* -- list* )
@bluebird ( list* -- list* )

	( TODO )

JMP2r

@cardinal ( list* -- list* )

	LDA2k STH2 ;pop JSR2
	;dup JSR2
	;swap JSR2
	STH2r ;cons JSR2

JMP2r

@kestrel ( list* -- list* )
@warbler ( list* -- list* )

	LDA2k STH2 ;pop JSR2
	;pop JSR2
	;dup JSR2
	STH2r ;cons JSR2

JMP2r

( Sekei Forest )

@identity ( list* -- list* )

	
JMP2r

@starling ( list* -- list* )

	( TODO )
	
JMP2r

@memory