1*3e12c5d1SDavid du Colombier TEXT memcmp(SB),$0 2*3e12c5d1SDavid du Colombier 3*3e12c5d1SDavid du Colombier MOVL n+8(FP), BX 4*3e12c5d1SDavid du Colombier CMPL BX, $0 5*3e12c5d1SDavid du Colombier JEQ none 6*3e12c5d1SDavid du Colombier MOVL p1+0(FP), DI 7*3e12c5d1SDavid du Colombier MOVL p2+4(FP), SI 8*3e12c5d1SDavid du Colombier CLD 9*3e12c5d1SDavid du Colombier/* 10*3e12c5d1SDavid du Colombier * first by longs 11*3e12c5d1SDavid du Colombier */ 12*3e12c5d1SDavid du Colombier 13*3e12c5d1SDavid du Colombier MOVL BX, CX 14*3e12c5d1SDavid du Colombier SHRL $2, CX 15*3e12c5d1SDavid du Colombier 16*3e12c5d1SDavid du Colombier REP; CMPSL 17*3e12c5d1SDavid du Colombier JNE found 18*3e12c5d1SDavid du Colombier 19*3e12c5d1SDavid du Colombier/* 20*3e12c5d1SDavid du Colombier * then by bytes 21*3e12c5d1SDavid du Colombier */ 22*3e12c5d1SDavid du Colombier ANDL $3, BX 23*3e12c5d1SDavid du Colombier MOVL BX, CX 24*3e12c5d1SDavid du Colombier REP; CMPSB 25*3e12c5d1SDavid du Colombier JNE found1 26*3e12c5d1SDavid du Colombier 27*3e12c5d1SDavid du Colombiernone: 28*3e12c5d1SDavid du Colombier MOVL $0, AX 29*3e12c5d1SDavid du Colombier RET 30*3e12c5d1SDavid du Colombier 31*3e12c5d1SDavid du Colombier/* 32*3e12c5d1SDavid du Colombier * if long found, 33*3e12c5d1SDavid du Colombier * back up and look by bytes 34*3e12c5d1SDavid du Colombier */ 35*3e12c5d1SDavid du Colombierfound: 36*3e12c5d1SDavid du Colombier MOVL $4, CX 37*3e12c5d1SDavid du Colombier SUBL CX, DI 38*3e12c5d1SDavid du Colombier SUBL CX, SI 39*3e12c5d1SDavid du Colombier REP; CMPSB 40*3e12c5d1SDavid du Colombier 41*3e12c5d1SDavid du Colombierfound1: 42*3e12c5d1SDavid du Colombier JLS lt 43*3e12c5d1SDavid du Colombier MOVL $-1, AX 44*3e12c5d1SDavid du Colombier RET 45*3e12c5d1SDavid du Colombierlt: 46*3e12c5d1SDavid du Colombier MOVL $1, AX 47*3e12c5d1SDavid du Colombier RET 48