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