From 3c9f722fbfd9226a8e7beee578bd4f6dd40805b4 Mon Sep 17 00:00:00 2001 From: uz Date: Sat, 28 Jul 2012 12:26:57 +0000 Subject: [PATCH] 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 --- src/cc65/stdfunc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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));