Value forwarding abs,x and abs,y
This commit is contained in:
parent
6cfa24b8ad
commit
df28d2f83f
|
@ -3928,6 +3928,12 @@ bool NativeCodeInstruction::ValueForwarding(NativeRegisterDataSet& data, AsmInsT
|
|||
mMode = ASMIM_IMPLIED;
|
||||
changed = true;
|
||||
}
|
||||
else if (data.mRegs[CPU_REG_A].mMode == NRDM_ABSOLUTE_X && data.mRegs[CPU_REG_A].mLinkerObject == mLinkerObject && data.mRegs[CPU_REG_A].mValue == mAddress)
|
||||
{
|
||||
mType = ASMIT_TAY;
|
||||
mMode = ASMIM_IMPLIED;
|
||||
changed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
data.mRegs[CPU_REG_Y].mMode = NRDM_ABSOLUTE_X;
|
||||
|
@ -3985,6 +3991,12 @@ bool NativeCodeInstruction::ValueForwarding(NativeRegisterDataSet& data, AsmInsT
|
|||
mMode = ASMIM_IMPLIED;
|
||||
changed = true;
|
||||
}
|
||||
else if (data.mRegs[CPU_REG_A].mMode == NRDM_ABSOLUTE_Y && data.mRegs[CPU_REG_A].mLinkerObject == mLinkerObject && data.mRegs[CPU_REG_A].mValue == mAddress)
|
||||
{
|
||||
mType = ASMIT_TAX;
|
||||
mMode = ASMIM_IMPLIED;
|
||||
changed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
data.mRegs[CPU_REG_X].mMode = NRDM_ABSOLUTE_Y;
|
||||
|
|
Loading…
Reference in New Issue