From: uz Date: Sat, 28 Jul 2012 12:26:57 +0000 (+0000) Subject: Fixed a problem with a memcpy optimization (source and target have been X-Git-Tag: V2.14~276 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3c9f722fbfd9226a8e7beee578bd4f6dd40805b4;p=cc65 Fixed a problem with a memcpy optimization (source and target have been swapped). git-svn-id: svn://svn.cc65.org/cc65/trunk@5796 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/src/cc65/stdfunc.c b/src/cc65/stdfunc.c index 1490d59d0..d1db93b15 100644 --- a/src/cc65/stdfunc.c +++ b/src/cc65/stdfunc.c @@ -477,15 +477,15 @@ static void StdFunc_memcpy (FuncDesc* F attribute ((unused)), ExprDesc* Expr) if (Arg3.Expr.IVal <= 127) { AddCodeLine ("ldy #$%02X", (unsigned char) (Arg3.Expr.IVal - 1)); g_defcodelabel (Label); - AddCodeLine ("lda (ptr1),y"); - AddCodeLine ("sta (sp),y"); + AddCodeLine ("lda (sp),y"); + AddCodeLine ("sta (ptr1),y"); AddCodeLine ("dey"); AddCodeLine ("bpl %s", LocalLabelName (Label)); } else { AddCodeLine ("ldy #$00"); g_defcodelabel (Label); - AddCodeLine ("lda (ptr1),y"); - AddCodeLine ("sta (sp),y"); + AddCodeLine ("lda (sp),y"); + AddCodeLine ("sta (ptr1),y"); AddCodeLine ("iny"); AddCodeLine ("cpy #$%02X", (unsigned char) Arg3.Expr.IVal); AddCodeLine ("bne %s", LocalLabelName (Label));