Rev 8793 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
9765 | turbocat | 1 | #include |
2 | |||
3 | char* strcat(char* s, const char* append) |
||
4 | { |
||
5 | int d0, d1, d2, d3; |
||
6 | __asm__ __volatile__( |
||
7 | "repne\n\t" |
||
8 | "scasb\n\t" |
||
9 | "decl %1\n" |
||
10 | "1:\tlodsb\n\t" |
||
11 | "stosb\n\t" |
||
12 | "testb %%al,%%al\n\t" |
||
13 | "jne 1b" |
||
14 | : "=&S"(d0), "=&D"(d1), "=&a"(d2), "=&c"(d3) |
||
15 | : "0"(append), "1"(s), "2"(0), "3"(0xffffffff) |
||
16 | : "memory"); |
||
17 | return s; |
||
8687 | turbocat | 18 | } |