1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
TEXT strchr(SB),$0 /* * look for null */ MOVL p+0(FP), DI MOVL $-1, CX MOVL $0, AX CLD REPN; SCASB /* * look for real char */ MOVL DI, CX MOVL p+0(FP), DI SUBL DI, CX MOVBLZX c+4(FP), AX REPN; SCASB JEQ found MOVL $0, AX RET found: MOVL DI, AX SUBL $1, AX RET