]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/386/strcat.s
audiohda: make it work with sb600 onboard sound
[plan9front.git] / sys / src / libc / 386 / strcat.s
1         TEXT    strcat(SB),$0
2
3         MOVL    $0, AX
4         MOVL    $-1, CX
5         CLD
6
7 /*
8  * find length of second string
9  */
10
11         MOVL    p2+4(FP), DI
12         REPN;   SCASB
13
14         MOVL    DI, BX
15         SUBL    p2+4(FP), BX
16
17 /*
18  * find end of first string
19  */
20
21         MOVL    p1+0(FP), DI
22         REPN;   SCASB
23
24 /*
25  * copy the memory
26  */
27         SUBL    $1, DI
28         MOVL    p2+4(FP), SI
29 /*
30  * copy whole longs
31  */
32         MOVL    BX, CX
33         SHRL    $2, CX
34         REP;    MOVSL
35 /*
36  * copy the rest, by bytes
37  */
38         ANDL    $3, BX
39         MOVL    BX, CX
40         REP;    MOVSB
41
42         MOVL    p1+0(FP), AX
43         RET