jnz {label,1b}
pat loi $1>=512
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".loi"}
pat los $1==2
with dereg STACK
+kills ALL
gen Call {label,".loi"}
pat ldl
jnz {label,1b}
pat sti
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".sti"}
pat sts $1==2
with dereg STACK
+kills ALL
gen Call {label,".sti"}
pat sdl
dad hl yields hl
pat adi $1==4
-with STACK
+kills ALL
gen Call {label,".adi4"}
pat sbi $1==2
mov %2.1,a yields %2
pat sbi $1==4
-with STACK
+kills ALL
gen Call {label,".sbi4"}
pat mli $1==2
-with STACK
+kills ALL
gen Call {label,".mli2"} yields de
pat mli $1==4
-with STACK
+kills ALL
gen Call {label,".mli4"}
pat dvi $1==2
-with STACK
+kills ALL
uses areg={const1,129}
gen Call {label,".dvi2"} yields de
pat dvi $1==4
-with STACK
+kills ALL
uses areg={const1,129}
gen Call {label,".dvi4"}
pat rmi $1==2
-with STACK
+kills ALL
uses areg={const1,128}
gen Call {label,".dvi2"} yields de
pat rmi $1==4
-with STACK
+kills ALL
uses areg={const1,128}
gen Call {label,".dvi4"}
mov %1.1,a yields %1
pat ngi $1==4
-with STACK
+kills ALL
gen Call {label,".ngi4"}
pat sli $1==2
-with STACK
+kills ALL
gen Call {label,".sli2"} yields de
pat sli $1==4
-with STACK
+kills ALL
gen Call {label,".sli4"}
pat sri $1==2
-with STACK
+kills ALL
uses areg={const1,1}
gen Call {label,".sri2"} yields de
pat sri $1==4
-with STACK
+kills ALL
uses areg={const1,1}
gen Call {label,".sri4"}
pat sbu leaving sbi $1
pat mlu $1==2
-with STACK
+kills ALL
gen Call {label,".mlu2"} yields de
pat mlu $1==4
-with STACK
+kills ALL
gen Call {label,".mli4"}
pat dvu $1==2
-with STACK
+kills ALL
uses areg={const1,1}
gen Call {label,".dvi2"} yields de
pat dvu $1==4
-with STACK
+kills ALL
uses areg={const1,1}
gen Call {label,".dvi4"}
pat rmu $1==2
-with STACK
+kills ALL
uses areg={const1,0}
gen Call {label,".dvi2"} yields de
pat rmu $1==4
-with STACK
+kills ALL
uses areg={const1,0}
gen Call {label,".dvi4"}
pat slu leaving sli $1
pat sru $1==2
-with STACK
+kills ALL
uses areg={const1,0}
gen Call {label,".sri2"} yields de
pat sru $1==4
-with STACK
+kills ALL
uses areg={const1,0}
gen Call {label,".sri4"}
/********************************************/
pat adf $1==4
-with STACK
+kills ALL
gen Call {label,".adf4"}
pat adf $1==8
-with STACK
+kills ALL
gen Call {label,".adf8"}
pat sbf $1==4
-with STACK
+kills ALL
gen Call {label,".sbf4"}
pat sbf $1==8
-with STACK
+kills ALL
gen Call {label,".sbf8"}
pat mlf $1==4
-with STACK
+kills ALL
gen Call {label,".mlf4"}
pat mlf $1==8
-with STACK
+kills ALL
gen Call {label,".mlf8"}
pat dvf $1==4
-with STACK
+kills ALL
gen Call {label,".dvf4"}
pat dvf $1==8
-with STACK
+kills ALL
gen Call {label,".dvf8"}
pat ngf $1==4
-with STACK
+kills ALL
gen Call {label,".ngf4"}
pat ngf $1==8
-with STACK
+kills ALL
gen Call {label,".ngf8"}
pat fif $1==4
-with STACK
+kills ALL
gen Call {label,".fif4"}
pat fif $1==8
-with STACK
+kills ALL
gen Call {label,".fif8"}
pat fef $1==4
-with STACK
+kills ALL
gen Call {label,".fef4"}
pat fef $1==8
-with STACK
+kills ALL
gen Call {label,".fef8"}
/********************************************/
gen shld {label,$1}
pat zrf $1==4
-with STACK
+kills ALL
gen Call {label,".zrf4"}
pat zrf $1==8
-with STACK
+kills ALL
gen Call {label,".zrf8"}
pat zer $1==2 yields {const2,0}
mov d,h yields de hl
pat cii
-with STACK
+kills ALL
uses areg={const1,1}
gen Call {label,".cii"}
gen move {const1,0},%1.1 yields {const2,0} %1
pat cuu
-with STACK
+kills ALL
uses areg={const1,0}
gen Call {label,".cii"}
pat cfi
-with STACK
+kills ALL
gen Call {label,".cfi"}
pat cif
-with STACK
+kills ALL
gen Call {label,".cif"}
pat cuf
-with STACK
+kills ALL
gen Call {label,".cuf"}
pat cff
-with STACK
+kills ALL
gen Call {label,".cff"}
pat cfu
-with STACK
+kills ALL
gen Call {label,".cfu"}
/*****************************************/
mov %1.1,a yields %1
pat and defined($1)
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".and"}
pat and !defined($1)
with dereg STACK
+kills ALL
gen Call {label,".and"}
pat ior $1==2
mov %1.1,a yields %1
pat ior defined($1)
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".ior"}
pat ior !defined($1)
with dereg STACK
+kills ALL
gen Call {label,".ior"}
pat xor $1==2
mov %1.1,a yields %1
pat xor defined($1)
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".xor"}
pat xor !defined($1)
with dereg STACK
+kills ALL
gen Call {label,".xor"}
pat com $1==2
mov %1.1,a yields %1
pat com defined($1)
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".com"}
pat com !defined($1)
with dereg STACK
+kills ALL
gen Call {label,".com"}
pat rol $1==2
pat rol $1==4
with dereg STACK
+kills ALL
gen Call {label,".rol4"}
pat ror $1==2
pat ror $1==4
with dereg STACK
+kills ALL
gen Call {label,".ror4"}
/***********************************************/
/***********************************************/
pat inn $1==2
-with STACK
+kills ALL
gen Call {label,".inn2"} yields de
pat inn defined($1)
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".inn"} yields de
pat inn !defined($1)
with dereg STACK
+kills ALL
gen Call {label,".inn"} yields de
pat set $1==2
with dereg STACK
+kills ALL
gen Call {label,".set2"} yields de
pat set defined($1)
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".set"}
pat set !defined($1)
with dereg STACK
+kills ALL
gen Call {label,".set"}
/***********************************************/
dad hl yields hl leaving adi 2
pat lar $1==2
-with STACK
+kills ALL
gen Call {label,".lar2"}
pat lar defined($1)
pat lar !defined($1)
with hl_or_de STACK
+kills ALL
uses areg
gen mov a,%1.2
cpi {const1,2}
Call {label,".lar2"}
pat sar $1==2
-with STACK
+kills ALL
gen Call {label,".sar2"}
pat sar defined($1)
+kills ALL
gen Call {label,"eunimpl"}
pat sar !defined($1)
with hl_or_de STACK
+kills ALL
uses areg
gen mov a,%1.2
cpi {const1,2}
Call {label,".sar2"}
pat aar $1==2
-with STACK
+kills ALL
gen Call {label,".aar2"}
pat aar defined($1)
+kills ALL
gen Call {label,"eunimpl"}
pat aar !defined($1)
with hl_or_de STACK
+kills ALL
uses areg
gen mov a,%1.2
cpi {const1,2}
pat cmi $1==2 leaving sbi 2
pat cmi $1==4
-with STACK
+kills ALL
uses areg={const1,1}
gen Call {label,".cmi4"} yields de
pat cmf $1==4
-with STACK
+kills ALL
gen Call {label,".cmf4"}
pat cmf $1==8
-with STACK
+kills ALL
gen Call {label,".cmf8"}
pat cmu $1==2
3: yields %2
pat cmu $1==4
-with STACK
+kills ALL
uses areg={const1,0}
gen Call {label,".cmi4"} yields de
pat cms $1==2 leaving cmi 2
pat cms defined($1)
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".cms"} yields de
pat cms !defined($1)
with dereg STACK
+kills ALL
gen Call {label,".cms"} yields de
pat cmp leaving cmu 2
/*********************************************/
pat cal
-with STACK
+kills ALL
gen Call {label,$1}
pat cai
with hlreg STACK
+kills ALL
uses dereg
gen lxi de,{label,1f}
push de
sphl.
pat blm
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".blm"}
pat bls
with dereg STACK
+kills ALL
gen Call {label,".blm"}
pat csa
-with STACK
+kills ALL
gen jmp {label,".csa"}
pat csb
-with STACK
+kills ALL
gen jmp {label,".csb"}
pat dch leaving loi 2
with src1or2 src1or2 yields %2 %1 %2 %1
pat dup
-with STACK
+kills ALL
uses dereg={const2,$1}
gen Call {label,".dup"}
pat dus $1==2
with dereg STACK
+kills ALL
gen Call {label,".dup"}
pat exg $1==2
with src1or2 src1or2 yields %1 %2
pat exg defined($1)
-with STACK
+kills ALL
uses dereg={const2,1}
gen Call {label,".exg"}
pat lpb leaving adp SL
pat mon
-with STACK
+kills ALL
gen Call {label,".mon"}
pat nop
-with STACK
+kills ALL
gen Call {label,".nop"}
pat rck
gen shld {label,".reghp"}
pat trp
-with STACK
+kills ALL
gen Call {label,".trp"}