]> git.sur5r.net Git - cc65/blob - libsrc/common/strcpy.s
Small optimization
[cc65] / libsrc / common / strcpy.s
1 ;
2 ; Ullrich von Bassewitz, 31.05.1998
3 ;
4 ; char* strcpy (char* dest, const char* src);
5 ;
6
7         .export         _strcpy
8         .import         popax
9         .importzp       ptr1, ptr2, tmp3
10
11 _strcpy:
12         sta     ptr1            ; Save src
13         stx     ptr1+1
14         jsr     popax           ; Get dest
15         sta     ptr2
16         stx     ptr2+1
17         sta     tmp3            ; remember for function return
18         ldy     #$00
19
20 L1:     lda     (ptr1),y
21         sta     (ptr2),y
22         beq     L9
23         iny
24         bne     L1
25         inc     ptr1+1
26         inc     ptr2+1
27         bne     L1
28
29 L9:     lda     tmp3            ; X still contains high byte
30         rts
31