1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #include <string.h>
- char *strcat(char * dest, const char * src)
- {
- int d0, d1, d2, d3;
- __asm__ __volatile__(
- "repne\n\t"
- "scasb\n\t"
- "decl %1\n"
- "1:\tlodsb\n\t"
- "stosb\n\t"
- "testb %%al,%%al\n\t"
- "jne 1b"
- : "=&S" (d0), "=&D" (d1), "=&a" (d2), "=&c" (d3)
- : "0" (src), "1" (dest), "2" (0), "3" (0xffffffff):"memory");
- return dest;
- }
- libc_hidden_def(strcat)
|