1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- TEXT memcmp(SB),$0
- MOVL n+8(FP), BX
- CMPL BX, $0
- JEQ none
- MOVL p1+0(FP), DI
- MOVL p2+4(FP), SI
- CLD
- /*
- * first by longs
- */
- MOVL BX, CX
- SHRL $2, CX
- REP; CMPSL
- JNE found
- /*
- * then by bytes
- */
- ANDL $3, BX
- MOVL BX, CX
- REP; CMPSB
- JNE found1
- none:
- MOVL $0, AX
- RET
- /*
- * if long found,
- * back up and look by bytes
- */
- found:
- MOVL $4, CX
- SUBL CX, DI
- SUBL CX, SI
- REP; CMPSB
- found1:
- JLS lt
- MOVL $-1, AX
- RET
- lt:
- MOVL $1, AX
- RET
|