gen Call {label,".loi"}
pat los $1==2
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".loi"}
mov {m},d yields de
pat lil loc adi sil $1==$4 && $3==2
-with STACK
uses hlreg={const2,$1}, dereg, areg
gen dad lb
mov e,{m}
mov {m},e
pat stf
-with hl_or_de STACK
+with hl_or_de
uses hl_or_de={const2,$1}
gen dad de
pop de
gen shld {label,%1.off+2}
xchg.
shld %1
-with hlreg dereg STACK
+with hlreg dereg
+kills ALL
gen mov {m},e
inx hl
mov {m},d
mov {m},d
pat sti $1<512
-with hlreg STACK
+with hlreg
+kills ALL
uses areg={const1,$1/2}, dereg
gen 1:
pop de
gen Call {label,".sti"}
pat sts $1==2
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".sti"}
pat sdl
-with dereg STACK
+with dereg
+kills ALL
uses hlreg={const2,$1}
gen dad lb
mov {m},e
mov {m},d
pat sde
-with hlreg STACK
+with hlreg
+kills ALL
gen shld {label,$1}
pop hl
shld {label,$1+2}
-with hlreg dereg STACK
+with hlreg dereg
+kills ALL
gen shld {label,$1}
xchg.
shld {label,$1+2}
-with dereg hlreg STACK
+with dereg hlreg
+kills ALL
gen shld {label,$1+2}
xchg.
shld {label,$1}
pat sdf
-with hl_or_de STACK
+with hl_or_de
+kills ALL
uses hl_or_de={const2,$1}
gen dad de
pop de
pat zer $1==4 yields {const2,0} {const2,0}
pat zer $1<511
-with STACK
+kills ALL
uses reg={const1,$1/2}, hl_or_de={const2,0}
gen 1:
push %b
jnz {label,1b}
pat zer
-with STACK
+kills ALL
uses hl_or_de={const2,$1/2}, hl_or_de={const2,0}, areg
gen xra a
1:
gen Call {label,".and"}
pat and !defined($1)
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".and"}
gen Call {label,".ior"}
pat ior !defined($1)
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".ior"}
gen Call {label,".xor"}
pat xor !defined($1)
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".xor"}
gen Call {label,".com"}
pat com !defined($1)
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".com"}
pat rol $1==2
-with dereg hlreg STACK
+with dereg hlreg
+kills ALL
uses areg
gen mov a,e
ani {const1,15}
3: yields hl
pat rol $1==4
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".rol4"}
pat ror $1==2
-with dereg hlreg STACK
+with dereg hlreg
+kills ALL
uses areg
gen mov a,e
ani {const1,15}
2: yields hl
pat ror $1==4
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".ror4"}
gen Call {label,".inn"} yields de
pat inn !defined($1)
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".inn"} yields de
pat set $1==2
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".set2"} yields de
gen Call {label,".set"}
pat set !defined($1)
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".set"}
gen Call {label,"eunimpl"}
pat lar !defined($1)
-with hl_or_de STACK
+with hl_or_de
kills ALL
uses areg
gen mov a,%1.2
gen Call {label,"eunimpl"}
pat sar !defined($1)
-with hl_or_de STACK
+with hl_or_de
kills ALL
uses areg
gen mov a,%1.2
gen Call {label,"eunimpl"}
pat aar !defined($1)
-with hl_or_de STACK
+with hl_or_de
kills ALL
uses areg
gen mov a,%1.2
gen Call {label,".cms"} yields de
pat cms !defined($1)
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".cms"} yields de
gen Call {label,$1}
pat cai
-with hlreg STACK
+with hlreg
kills ALL
uses dereg
gen lxi de,{label,1f}
gen Call {label,".blm"}
pat bls
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".blm"}
gen Call {label,".dup"}
pat dus $1==2
-with dereg STACK
+with dereg
kills ALL
gen Call {label,".dup"}