~rabbits/ornithologics

cbb876fc53e5f8a41c336e13b3f040ecc67b81f7 — neauoire 2 years ago 8633e09
starling
1 files changed, 33 insertions(+), 20 deletions(-)

M src/ornithologics.tal
M src/ornithologics.tal => src/ornithologics.tal +33 -20
@@ 4,17 4,23 @@

|0100

	( prelude )
	;nil JSR2
		;z ;cons JSR2
			;y ;cons JSR2
				;x ;cons JSR2
					;b ;cons JSR2
	( program )
	;w ;cons JSR2 
		;s ;cons JSR2 
	( eval )
	;step JSR2
		;step JSR2
				
	;echo JSR2

	#0a18 DEO
	#010e DEO
	#010f DEO
	( lb ) #0a18 DEO
	( debugger ) #010e DEO
	( halt ) #010f DEO

BRK



@@ 52,16 58,11 @@ JMP2r

@swap ( list* -- list* )

	LDA2k STH2 ,pop JSR LDA2k STH2 ,pop JSR
	SWP2r
	STH2r ,cons JSR STH2r ,cons JSR

JMP2r

@nest ( list* -- list* )

	LDA2k STH2 ,pop JSR
	;nil JSR2 STH2r ,cons JSR ,cons JSR
	LDA2k STH2 ,pop JSR
	SWP2r
	STH2r ,cons JSR
	STH2r ,cons JSR

JMP2r



@@ 82,7 83,7 @@ JMP2r
JMP2r

@eval ( list* -- )
	

	DUP2 ;print JSR2 #0a18 DEO
	&w
		LDA2k INC2 INC2 LDA2 ;nil EQU2 ,&fn JCN


@@ 153,9 154,13 @@ JMP2r

@bluebird ( list* -- list* )

	LDA2k STH2 ;pop JSR2 LDA2k STH2 ;pop JSR2 LDA2k STH2 ;pop JSR2
	;nil JSR2 ;nil JSR2 
	STH2r ;cons JSR2 ;cons JSR2 STH2r ;cons JSR2 ;cons JSR2 STH2r ;cons JSR2 
	LDA2k STH2 ;pop JSR2
	LDA2k STH2 ;pop JSR2
	LDA2k STH2 ;pop JSR2
	;nil JSR2 ;nil JSR2
	STH2r ;cons JSR2 ;cons JSR2
	STH2r ;cons JSR2 ;cons JSR2
	STH2r ;cons JSR2

JMP2r



@@ 179,13 184,21 @@ JMP2r

@identity ( list* -- list* )

	
	( nothing.. )

JMP2r

@starling ( list* -- list* )

	( TODO )
	
	LDA2k STH2 ;pop JSR2
	LDA2k STH2 ;pop JSR2
	LDA2k STH2 ;pop JSR2
	;nil JSR2
	STH2kr ;cons JSR2
	SWP2r STH2r ;cons JSR2 ;cons JSR2
	STH2r ;cons JSR2
	STH2r ;cons JSR2

JMP2r

@memory