]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/68000/memccpy.s
marshal(1): fix example: upas/mail -> mail (thanks fulton)
[plan9front.git] / sys / src / libc / 68000 / memccpy.s
1         TEXT    memccpy(SB),$0
2         MOVL    n+12(FP),R0
3         BEQ     ret
4         MOVL    s1+0(FP),A2
5         MOVL    s2+4(FP),A1
6         MOVL    c+8(FP),R1
7         BEQ     l2
8
9 /*
10  * general case
11  */
12 l1:     MOVB    (A1)+,R2
13         MOVB    R2,(A2)+
14         CMPB    R2,R1
15         BEQ     eq
16         SUBL    $1,R0
17         BNE     l1
18         RTS
19
20 /*
21  * special case for null character
22  */
23 l2:     MOVB    (A1)+,(A2)+
24         BEQ     eq
25         SUBL    $1,R0
26         BNE     l2
27         RTS
28
29 eq:     MOVL    A2,R0
30 ret:    RTS