use STS and LOS routine

This commit is contained in:
ceriel 1989-01-18 10:51:06 +00:00
parent 406d024e9f
commit 7c39967dc5
2 changed files with 5 additions and 12 deletions

View file

@ -332,13 +332,13 @@ loi $1>4 | X_BXREG |
erase(%[a]) erase(%[1]) | | | (3,40+$1*9) erase(%[a]) erase(%[1]) | | | (3,40+$1*9)
los $1==2 | X_CXREG X_BXREG | los $1==2 | X_CXREG X_BXREG |
remove(ALL) remove(ALL)
"call .loi" "call .los"
erase(%[1]) erase(%[2]) | | | erase(%[1]) erase(%[2]) | | |
los !defined($1)| rm X_CXREG X_BXREG | los !defined($1)| rm X_CXREG X_BXREG |
remove(ALL) remove(ALL)
"cmp %[1],2" "cmp %[1],2"
"jne .unknown" "jne .unknown"
"call .loi" "call .los"
erase(%[2]) erase(%[3]) | | | erase(%[2]) erase(%[3]) | | |
ldl | | | {LOCAL2, $1+2,2} {LOCAL2, $1,2} | | ldl | | | {LOCAL2, $1+2,2} {LOCAL2, $1,2} | |
lde | | | {EXTERN2, $1+"+2"} {EXTERN2, $1} | | lde | | | {EXTERN2, $1+"+2"} {EXTERN2, $1} | |

View file

@ -585,14 +585,7 @@ pat loi $1>4
pat los $1==2 pat los $1==2
with CXREG BXREG with CXREG BXREG
kills ALL kills ALL
gen joehoe {label,".loi"} gen joehoe {label,".los"}
pat los !defined($1)
with rm CXREG BXREG
kills ALL
gen cmp %1,{ANYCON,2}
jne {label,".unknown"}
joehoe {label,".loi"}
pat ldl yields {LOCAL,$1+2,2} pat ldl yields {LOCAL,$1+2,2}
{LOCAL,$1,2} {LOCAL,$1,2}
@ -781,7 +774,7 @@ pat sti $1>4
pat sts $1==2 pat sts $1==2
with CXREG BXREG with CXREG BXREG
kills ALL kills ALL
gen joehoe {label,".sti"} gen joehoe {label,".sts"}
pat sdl pat sdl
with regorconst regorconst yields %2 %1 with regorconst regorconst yields %2 %1
@ -2698,7 +2691,7 @@ with rm-BXREG-ACC BXREG ACC
jmp {label, ".csb2"} jmp {label, ".csb2"}
pat dup $1==2 pat dup $1==2
with regorconst yields %1 %1 with anyreg yields %1 %1
with ACC1 yields %1 %1 with ACC1 yields %1 %1
pat dup $1==4 pat dup $1==4