~rabbits/uxnlin

b152c0ea18b552aacc622246829e3195c81718b0 — neauoire 4 months ago 4a00adf
Added recipes
2 files changed, 21 insertions(+), 1 deletions(-)

M etc/example.tal
M src/uxnlin.tal
M etc/example.tal => etc/example.tal +11 -0
@@ 62,6 62,17 @@
	;label ;label
	.label .label

	( slow stack 2->1 )
	STH2r ADD
	STH2 ADDr

	( slow stacks )
	LDZ STH
	LDZ2 STH2
	DEI STH
	DEI2 STH2
	

BRK

~etc/include.tal

M src/uxnlin.tal => src/uxnlin.tal +10 -1
@@ 334,7 334,8 @@ JMP2r
@unsafe "Unsafe $1 ( bitwise opcode used in relative jump )
@unstashed "Unstashed $1 ( literal was created on the wrong stack )
@tokenlen "Token-length $1 ( token is longer than 24 characters )
@combine "Combine $1
@combine "Combine $1 ( sequences of two literal bytes )
@slowstack "Slowstack $1 ( arithmetic performed after stashing )

@inc "INC $1 @inc2 "INC2 $1
@inc-twice "INC 20 "INC $1


@@ 464,6 465,14 @@ JMP2r
	".__   $1 "STH    $1 :unstashed
	"#__   $1 "STH    $1 :unstashed
	"#____ $1 "STH2   $1 :unstashed
	"LDZ $1 "STH $1 :slowstack
	"LDZ2 $1 "STH2 $1 :slowstack
	"DEIk $1 "STH $1 :slowstack
	"DEI2k $1 "STH2 $1 :slowstack
	"LDZk $1 "STH $1 :slowstack
	"LDZ2k $1 "STH2 $1 :slowstack
	"DEI $1 "STH $1 :slowstack
	"DEI2 $1 "STH2 $1 :slowstack
	"#__   $1 "#__    $1 :combine
	"DUP   $1 "DUP    $1 :keep
	"DUP2  $1 "DUP2   $1 :keep