mirror of
https://github.com/cc65/cc65.git
synced 2025-02-26 23:30:03 +00:00
Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3663 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
6d66611108
commit
3c74435ac4
@ -316,7 +316,7 @@ unsigned OptAdd3 (CodeSeg* S)
|
|||||||
|
|
||||||
/* Check for the sequence */
|
/* Check for the sequence */
|
||||||
if (CE_IsCallTo (L[0], "pushax") &&
|
if (CE_IsCallTo (L[0], "pushax") &&
|
||||||
CS_GetEntries (S, L+1, I+1, 4) &&
|
CS_GetEntries (S, L+1, I+1, 3) &&
|
||||||
!CS_RangeHasLabel (S, I+1, 3) &&
|
!CS_RangeHasLabel (S, I+1, 3) &&
|
||||||
L[1]->OPC == OP65_LDX &&
|
L[1]->OPC == OP65_LDX &&
|
||||||
CE_IsKnownImm (L[1], 0) &&
|
CE_IsKnownImm (L[1], 0) &&
|
||||||
@ -327,21 +327,21 @@ unsigned OptAdd3 (CodeSeg* S)
|
|||||||
CodeLabel* Label;
|
CodeLabel* Label;
|
||||||
|
|
||||||
/* Insert new code behind the sequence */
|
/* Insert new code behind the sequence */
|
||||||
X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
|
X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[3]->LI);
|
||||||
CS_InsertEntry (S, X, I+4);
|
CS_InsertEntry (S, X, I+4);
|
||||||
|
|
||||||
/* adc xxx */
|
/* adc xxx */
|
||||||
X = NewCodeEntry (OP65_ADC, L[2]->AM, L[2]->Arg, 0, L[3]->LI);
|
X = NewCodeEntry (OP65_ADC, L[2]->AM, L[2]->Arg, 0, L[3]->LI);
|
||||||
CS_InsertEntry (S, X, I+5);
|
CS_InsertEntry (S, X, I+5);
|
||||||
|
|
||||||
/* bcc L1 */
|
/* bcc L1 */
|
||||||
Label = CS_GenLabel (S, L[4]);
|
Label = CS_GenLabel (S, L[4]);
|
||||||
X = NewCodeEntry (OP65_BCC, AM65_BRA, Label->Name, Label, L[3]->LI);
|
X = NewCodeEntry (OP65_BCC, AM65_BRA, Label->Name, Label, L[3]->LI);
|
||||||
CS_InsertEntry (S, X, I+6);
|
CS_InsertEntry (S, X, I+6);
|
||||||
|
|
||||||
/* inx */
|
/* inx */
|
||||||
X = NewCodeEntry (OP65_INX, AM65_IMP, 0, 0, L[3]->LI);
|
X = NewCodeEntry (OP65_INX, AM65_IMP, 0, 0, L[3]->LI);
|
||||||
CS_InsertEntry (S, X, I+7);
|
CS_InsertEntry (S, X, I+7);
|
||||||
|
|
||||||
/* Delete the old code */
|
/* Delete the old code */
|
||||||
CS_DelEntries (S, I, 4);
|
CS_DelEntries (S, I, 4);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user