]> git.sur5r.net Git - cc65/blob - libsrc/common/strcmp.s
added optimization for indexed 16-bit array load of form (array[i & 0x7f])
[cc65] / libsrc / common / strcmp.s
1 ;
2 ; Ullrich von Bassewitz, 31.05.1998
3 ;
4 ; int strcmp (const char* s1, const char* s2);
5 ;
6
7         .export         _strcmp
8         .import         popptr1
9         .importzp       ptr1, ptr2
10
11 _strcmp:
12         sta     ptr2            ; Save s2
13         stx     ptr2+1
14         jsr     popptr1         ; Get s1
15         ;ldy     #0             ; Y=0 guaranteed by popptr1
16
17 loop:   lda     (ptr1),y
18         cmp     (ptr2),y
19         bne     L1
20         tax                     ; end of strings?
21         beq     L3
22         iny
23         bne     loop
24         inc     ptr1+1
25         inc     ptr2+1
26         bne     loop
27
28 L1:     bcs     L2
29         ldx     #$FF
30         rts
31
32 L2:     ldx     #$01
33 L3:     rts