1 TEXT strchr(SB), $0 2 MOVBU c+4(FP), R11 3 MOVW R8, R10 4 5 BEQ R11, l2 6 7/* 8 * char is not null 9 */ 10l1: 11 MOVBU (R10), R8 12 ADD $1, R10 13 BEQ R8, ret 14 BNE R8,R11, l1 15 JMP rm1 16 17/* 18 * char is null 19 * align to word 20 */ 21l2: 22 AND $3,R10, R8 23 BEQ R8, l3 24 MOVBU (R10), R8 25 ADD $1, R10 26 BNE R8, l2 27 JMP rm1 28 29l3: 30 MOVW $0xff000000, R13 31 MOVW $0x00ff0000, R14 32 MOVW $0x0000ff00, R15 33 34l4: 35 MOVW (R10), R12 36 ADD $4, R10 37 AND $0xff, R12, R8 38 BEQ R8, b0 39 AND R15, R12, R8 40 BEQ R8, b1 41 AND R14, R12, R8 42 BEQ R8, b2 43 AND R13, R12, R8 44 BNE R8, l4 45 46rm1: 47 ADD $-1,R10, R8 48 JMP ret 49 50b2: 51 ADD $-2,R10, R8 52 JMP ret 53 54b1: 55 ADD $-3,R10, R8 56 JMP ret 57 58b0: 59 ADD $-4,R10, R8 60 JMP ret 61 62ret: 63 RET 64