Symbolicize explicit uses of x86 registers where possible (GPRs only for now).

Uses are split into three categories:

- Arbitrary (except for size savings) - constants like RSCRATCH are
used.

- ABI (i.e. RAX as return value) - ABI_RETURN is used.

- Fixed by architecture (RCX shifts, RDX/RAX for some instructions) -
explicit register is kept.

In theory this allows the assignments to be modified easily.  I verified
that I was able to run Melee with all the registers changed, although
there may be issues if RSCRATCH[2] and ABI_PARAM{1,2} conflict.
This commit is contained in:
comex
2014-09-05 20:17:13 -04:00
parent 100a7ac97b
commit 6fd0333c14
21 changed files with 672 additions and 668 deletions

View File

@ -53,3 +53,5 @@
#endif // WIN32
#define ABI_RETURN RAX