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