mirror of
https://github.com/cc65/cc65.git
synced 2025-04-04 21:33:30 +00:00
Fixed quick hack for known registers after calling certain runtime functions,
and new quick hack for tosshrax.
This commit is contained in:
parent
079f4a99dd
commit
de630a1245
@ -1418,10 +1418,10 @@ void CE_GenRegInfo (CodeEntry* E, RegContents* InputRegs)
|
||||
Out->RegX = (In->RegX ^ 0xFF);
|
||||
}
|
||||
} else if (strcmp (E->Arg, "tosandax") == 0) {
|
||||
if (In->RegA == 0) {
|
||||
if (RegValIsKnown (In->RegA) && In->RegA == 0) {
|
||||
Out->RegA = 0;
|
||||
}
|
||||
if (In->RegX == 0) {
|
||||
if (RegValIsKnown (In->RegX) && In->RegX == 0) {
|
||||
Out->RegX = 0;
|
||||
}
|
||||
} else if (strcmp (E->Arg, "tosaslax") == 0) {
|
||||
@ -1430,16 +1430,20 @@ void CE_GenRegInfo (CodeEntry* E, RegContents* InputRegs)
|
||||
Out->RegA = 0;
|
||||
}
|
||||
} else if (strcmp (E->Arg, "tosorax") == 0) {
|
||||
if (In->RegA == 0xFF) {
|
||||
if (RegValIsKnown (In->RegA) && In->RegA == 0xFF) {
|
||||
Out->RegA = 0xFF;
|
||||
}
|
||||
if (In->RegX == 0xFF) {
|
||||
if (RegValIsKnown (In->RegX) && In->RegX == 0xFF) {
|
||||
Out->RegX = 0xFF;
|
||||
}
|
||||
} else if (strcmp (E->Arg, "tosshlax") == 0) {
|
||||
if ((In->RegA & 0x0F) >= 8) {
|
||||
if (RegValIsKnown (In->RegA) && (In->RegA & 0x0F) >= 8) {
|
||||
Out->RegA = 0;
|
||||
}
|
||||
} else if (strcmp (E->Arg, "tosshrax") == 0) {
|
||||
if (RegValIsKnown (In->RegA) && (In->RegA & 0x0F) >= 8) {
|
||||
Out->RegX = 0;
|
||||
}
|
||||
} else if (strcmp (E->Arg, "bcastax") == 0 ||
|
||||
strcmp (E->Arg, "bnegax") == 0 ||
|
||||
FindBoolCmpCond (E->Arg) != CMP_INV ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user