Add rst 1 to store frame variables. Reduces Star Trek from 42339 to 41821

bytes.
This commit is contained in:
David Given 2019-02-07 09:31:38 +01:00
parent 67a9be26d1
commit a5bf2932c8

View file

@ -460,13 +460,23 @@ uses hl_or_de={label,$1} yields %a
pat stl lol $1==$2 pat stl lol $1==$2
with dereg yields de de leaving stl $1 with dereg yields de de leaving stl $1
#ifdef USE_I80_RSTS
pat stl sfit($1, 8)
with dereg
kills hlreg, areg
gen
rst {const1, 2}
data1 {const1, $1}
#endif
pat stl pat stl
with dereg with dereg
uses hlreg={const2,$1} uses hlreg={const2, $1}
gen dad lb gen
mov {m},e dad lb
mov {m}, e
inx hl inx hl
mov {m},d mov {m}, d
pat ste loe $1==$2 pat ste loe $1==$2
with hlreg yields hl hl leaving ste $1 with hlreg yields hl hl leaving ste $1