*
* ldy #xx-1
* lda (sp),y
- * clc
* ldy #yy-3
+ * clc
* adc (sp),y
* pha
* ldy #xx
X = NewCodeEntry (OP65_LDA, AM65_ZP_INDY, "sp", 0, L[1]->LI);
CS_InsertEntry (S, X, I+1);
- /* clc */
- X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[5]->LI);
- CS_InsertEntry (S, X, I+2);
-
/* ldy #yy-3 */
Arg = MakeHexArg (L[3]->Num - 3);
X = NewCodeEntry (OP65_LDY, AM65_IMM, Arg, 0, L[4]->LI);
+ CS_InsertEntry (S, X, I+2);
+
+ /* clc */
+ X = NewCodeEntry (OP65_CLC, AM65_IMP, 0, 0, L[5]->LI);
CS_InsertEntry (S, X, I+3);
/* adc (sp),y */
unsigned I = 0;
while (I < CS_GetEntryCount (S)) {
- CodeEntry* L[4];
+ CodeEntry* L[5];
/* Get next entry */
L[0] = CS_GetEntry (S, I);
/* Check for the sequence */
if (CE_IsCallTo (L[0], "pushax") &&
- CS_GetEntries (S, L+1, I+1, 3) &&
+ CS_GetEntries (S, L+1, I+1, 4) &&
!CS_RangeHasLabel (S, I+1, 3) &&
L[1]->OPC == OP65_LDX &&
CE_IsKnownImm (L[1], 0) &&