1 TEXT strcpy(SB),$0 2 3 MOVL $0, AX 4 MOVL $-1, CX 5 CLD 6/* 7 * find end of second string 8 */ 9 10 MOVL p2+4(FP), DI 11 REPN; SCASB 12 13 MOVL DI, BX 14 SUBL p2+4(FP), BX 15 16/* 17 * copy the memory 18 */ 19 MOVL p1+0(FP), DI 20 MOVL p2+4(FP), SI 21/* 22 * copy whole longs 23 */ 24 MOVL BX, CX 25 SHRL $2, CX 26 REP; MOVSL 27/* 28 * copy the rest, by bytes 29 */ 30 ANDL $3, BX 31 MOVL BX, CX 32 REP; MOVSB 33 34 MOVL p1+0(FP), AX 35 RET 36