ref: 2aa2f9f359a84b25c0a2ed488c4d0319c9ea8c55
dir: /sys/src/libc/386/memcmp.s/
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