TEXT strchr(SB), $0
MOVL s+0(FP), DI
MOVB c+4(FP), AX
CMPB AX, $0
JEQ l2 /**/
/*
* char is not null
*/
l1:
MOVB (DI), BX
CMPB BX, $0
JEQ ret0
ADDL $1, DI
CMPB AX, BX
JNE l1
MOVL DI, AX
SUBL $1, AX
RET
/*
* char is null
*/
l2:
MOVL $-1, CX
CLD
REPN; SCASB
MOVL DI, AX
SUBL $1, AX
RET
ret0:
MOVL $0, AX
RET
|