~rabbits/uxnlin

3d3bbad6759a5f9f27e2a7c9a6d04710c6a87e9d — Devine Lu Linvega a month ago 4cbcc6f
Added missing shift recipes
1 files changed, 85 insertions(+), 68 deletions(-)

M src/uxnlin.tal
M src/uxnlin.tal => src/uxnlin.tal +85 -68
@@ 384,74 384,83 @@ JMP2r
@uncalled "Uncalled $1 ( using JSR when could be calling )
@optimize "Optimize $1 ( bad design )

@inc "INC $1 @inc2 "INC2 $1
@inc-twice "INC 20 "INC $1
@inc2-twice "INC2 20 "INC2 $1
@pop2 "POP2 $1
@pop2r "POP2r $1
@ovrk "OVRk $1
@ovr2k "OVR2k $1
@swpk "SWPk $1
@equk "EQUk $1
@neqk "NEQk $1
@gthk "GTHk $1
@lthk "LTHk $1
@addk "ADDk $1
@subk "SUBk $1
@mulk "MULk $1
@divk "DIVk $1
@andk "ANDk $1
@orak "ORAk $1
@eork "EORk $1
@sftk "SFTk $1
@inck "INCk $1
@inc2k "INC2k $1
@jmp "JMP $1
@jmp2 "JMP2 $1
@ora "ORA $1
@nip "NIP $1 @nip2 "NIP2 $1
@and "AND $1
@sft01 "#01 20 "SFT $1
@sft02 "#02 20 "SFT $1
@sft03 "#03 20 "SFT $1
@sft04 "#04 20 "SFT $1
@sft05 "#05 20 "SFT $1
@sft06 "#06 20 "SFT $1
@sft07 "#07 20 "SFT $1
@sft10 "#10 20 "SFT $1
@sft20 "#20 20 "SFT $1
@sft30 "#30 20 "SFT $1
@sft40 "#40 20 "SFT $1
@sft50 "#50 20 "SFT $1
@sft60 "#60 20 "SFT $1
@sft70 "#70 20 "SFT $1
@sft201 "#01 20 "SFT2 $1
@sft202 "#02 20 "SFT2 $1
@sft203 "#03 20 "SFT2 $1
@sft204 "#04 20 "SFT2 $1
@sft205 "#05 20 "SFT2 $1
@sft206 "#06 20 "SFT2 $1
@sft207 "#07 20 "SFT2 $1
@sft210 "#10 20 "SFT2 $1
@sft220 "#20 20 "SFT2 $1
@sft230 "#30 20 "SFT2 $1
@sft240 "#40 20 "SFT2 $1
@sft250 "#50 20 "SFT2 $1
@sft260 "#60 20 "SFT2 $1
@sft270 "#70 20 "SFT2 $1
@00ovr "#00 20 "OVR $1
@0000ovr2 "#0000 20 "OVR2 $1
@pop "POP $1
@dup "DUP $1
@dup2 "DUP2 $1
@dupadd "DUP 20 "ADD $1
@dup2add2 "DUP2 20 "ADD2 $1
@orak00equ "ORAk 20 "#00 20 "EQU $1
@rotswp "ROT 20 "SWP $1
@rot2swp2 "ROT2 20 "SWP2 $1
@ldakrsthr "LDAkr 20 "STHr $1
@ldaksth "LDAk 20 "STH $1
@inc2ora "INC2 20 "ORA $1
( specifics )
	@inc "INC $1 @inc2 "INC2 $1
	@inc-twice "INC 20 "INC $1
	@inc2-twice "INC2 20 "INC2 $1
	@pop2 "POP2 $1
	@pop2r "POP2r $1
	@ovrk "OVRk $1
	@ovr2k "OVR2k $1
	@swpk "SWPk $1
	@equk "EQUk $1
	@neqk "NEQk $1
	@gthk "GTHk $1
	@lthk "LTHk $1
	@addk "ADDk $1
	@subk "SUBk $1
	@mulk "MULk $1
	@divk "DIVk $1
	@andk "ANDk $1
	@orak "ORAk $1
	@eork "EORk $1
	@sftk "SFTk $1
	@inck "INCk $1
	@inc2k "INC2k $1
	@jmp "JMP $1
	@jmp2 "JMP2 $1
	@ora "ORA $1
	@nip "NIP $1 @nip2 "NIP2 $1
	@and "AND $1
	@sft01 "#01 20 "SFT $1
	@sft02 "#02 20 "SFT $1
	@sft03 "#03 20 "SFT $1
	@sft04 "#04 20 "SFT $1
	@sft05 "#05 20 "SFT $1
	@sft06 "#06 20 "SFT $1
	@sft07 "#07 20 "SFT $1
	@sft10 "#10 20 "SFT $1
	@sft20 "#20 20 "SFT $1
	@sft30 "#30 20 "SFT $1
	@sft40 "#40 20 "SFT $1
	@sft50 "#50 20 "SFT $1
	@sft60 "#60 20 "SFT $1
	@sft70 "#70 20 "SFT $1
	@sft201 "#01 20 "SFT2 $1
	@sft202 "#02 20 "SFT2 $1
	@sft203 "#03 20 "SFT2 $1
	@sft204 "#04 20 "SFT2 $1
	@sft205 "#05 20 "SFT2 $1
	@sft206 "#06 20 "SFT2 $1
	@sft207 "#07 20 "SFT2 $1
	@sft210 "#10 20 "SFT2 $1
	@sft220 "#20 20 "SFT2 $1
	@sft230 "#30 20 "SFT2 $1
	@sft240 "#40 20 "SFT2 $1
	@sft250 "#50 20 "SFT2 $1
	@sft260 "#60 20 "SFT2 $1
	@sft270 "#70 20 "SFT2 $1
	@sft280 "#80 20 "SFT2 $1
	@sft290 "#90 20 "SFT2 $1
	@sft2a0 "#a0 20 "SFT2 $1
	@sft2b0 "#b0 20 "SFT2 $1
	@sft2c0 "#c0 20 "SFT2 $1
	@sft2d0 "#d0 20 "SFT2 $1
	@sft2e0 "#e0 20 "SFT2 $1
	@sft2f0 "#f0 20 "SFT2 $1
	@00ovr "#00 20 "OVR $1
	@0000ovr2 "#0000 20 "OVR2 $1
	@pop "POP $1
	@dup "DUP $1
	@dup2 "DUP2 $1
	@dupadd "DUP 20 "ADD $1
	@dup2add2 "DUP2 20 "ADD2 $1
	@orak00equ "ORAk 20 "#00 20 "EQU $1
	@rotswp "ROT 20 "SWP $1
	@rot2swp2 "ROT2 20 "SWP2 $1
	@ldakrsthr "LDAkr 20 "STHr $1
	@ldaksth "LDAk 20 "STH $1
	@inc2ora "INC2 20 "ORA $1

(
@|rules )


@@ 631,6 640,14 @@ JMP2r
	"#0040 $1 "MUL2   $1 =sft260
	"#80   $1 "MUL    $1 =sft70
	"#0080 $1 "MUL2   $1 =sft270
	"#0100 $1 "MUL2   $1 =sft280
	"#0200 $1 "MUL2   $1 =sft290
	"#0400 $1 "MUL2   $1 =sft2a0
	"#0800 $1 "MUL2   $1 =sft2b0
	"#1000 $1 "MUL2   $1 =sft2c0
	"#2000 $1 "MUL2   $1 =sft2d0
	"#4000 $1 "MUL2   $1 =sft2e0
	"#8000 $1 "MUL2   $1 =sft2f0
	"#00   $1 "#01    $1 =inck
	"#0000 $1 "#0001  $1 =inc2k
	"#10   $1 "SFT    $1 =dupadd