13e12c5d1SDavid du Colombier TEXT memset(SB),$0 23e12c5d1SDavid du Colombier 33e12c5d1SDavid du Colombier CLD 43e12c5d1SDavid du Colombier MOVL p+0(FP), DI 53e12c5d1SDavid du Colombier MOVBLZX c+4(FP), AX 63e12c5d1SDavid du Colombier MOVL n+8(FP), BX 73e12c5d1SDavid du Colombier/* 8*9a747e4fSDavid du Colombier * if not enough bytes, just set bytes 93e12c5d1SDavid du Colombier */ 103e12c5d1SDavid du Colombier CMPL BX, $9 113e12c5d1SDavid du Colombier JLS c3 123e12c5d1SDavid du Colombier/* 133e12c5d1SDavid du Colombier * build word in AX 143e12c5d1SDavid du Colombier */ 153e12c5d1SDavid du Colombier MOVB AL, AH 163e12c5d1SDavid du Colombier MOVL AX, CX 173e12c5d1SDavid du Colombier SHLL $16, CX 183e12c5d1SDavid du Colombier ORL CX, AX 193e12c5d1SDavid du Colombier/* 20*9a747e4fSDavid du Colombier * set whole longs 213e12c5d1SDavid du Colombier */ 223e12c5d1SDavid du Colombierc1: 233e12c5d1SDavid du Colombier MOVL BX, CX 243e12c5d1SDavid du Colombier SHRL $2, CX 253e12c5d1SDavid du Colombier ANDL $3, BX 263e12c5d1SDavid du Colombier REP; STOSL 273e12c5d1SDavid du Colombier/* 28*9a747e4fSDavid du Colombier * set the rest, by bytes 293e12c5d1SDavid du Colombier */ 303e12c5d1SDavid du Colombierc3: 313e12c5d1SDavid du Colombier MOVL BX, CX 323e12c5d1SDavid du Colombier REP; STOSB 333e12c5d1SDavid du Colombierret: 343e12c5d1SDavid du Colombier MOVL p+0(FP),AX 353e12c5d1SDavid du Colombier RET 36