1 TEXT memset(SB),$0 2 3 CLD 4 MOVL p+0(FP), DI 5 MOVBLZX c+4(FP), AX 6 MOVL n+8(FP), BX 7/* 8 * if not enough bytes, just copy 9 */ 10 CMPL BX, $9 11 JLS c3 12/* 13 * build word in AX 14 */ 15 MOVB AL, AH 16 MOVL AX, CX 17 SHLL $16, CX 18 ORL CX, AX 19/* 20 * copy whole longs 21 */ 22c1: 23 MOVL BX, CX 24 SHRL $2, CX 25 ANDL $3, BX 26 REP; STOSL 27/* 28 * copy the rest, by bytes 29 */ 30c3: 31 MOVL BX, CX 32 REP; STOSB 33ret: 34 MOVL p+0(FP),AX 35 RET 36