; char *__cdecl strcat(char *dest, const char *src) public _strcat _strcat proc far @@dest = dword ptr 6 @@src = dword ptr 0Ah push bp mov bp, sp push si push di cld push ds les di, [bp+@@dest] mov dx, di xor al, al mov cx, 0FFFFh repne scasb push es lea si, [di-1] les di, [bp+@@src] mov cx, 0FFFFh repne scasb not cx sub di, cx push es pop ds pop es xchg si, di test si, 1 jz short @@move_rest movsb dec cx @@move_rest: shr cx, 1 rep movsw jnb short @@move_last movsb @@move_last: xchg ax, dx mov dx, es pop ds pop di pop si pop bp retf _strcat endp