1*37da2899SCharles.Forsyth TEXT strchr(SB), $0 2*37da2899SCharles.Forsyth 3*37da2899SCharles.ForsythMOVW R7, 0(FP) 4*37da2899SCharles.Forsyth MOVB c+7(FP), R10 5*37da2899SCharles.Forsyth MOVW s+0(FP), R9 6*37da2899SCharles.Forsyth 7*37da2899SCharles.Forsyth SUBCC R0,R10, R0 8*37da2899SCharles.Forsyth BE l2 9*37da2899SCharles.Forsyth 10*37da2899SCharles.Forsyth/* 11*37da2899SCharles.Forsyth * char is not null 12*37da2899SCharles.Forsyth */ 13*37da2899SCharles.Forsythl1: 14*37da2899SCharles.Forsyth MOVB (R9), R7 15*37da2899SCharles.Forsyth ADD $1, R9 16*37da2899SCharles.Forsyth SUBCC R0,R7, R0 17*37da2899SCharles.Forsyth BE ret 18*37da2899SCharles.Forsyth SUBCC R7,R10, R0 19*37da2899SCharles.Forsyth BNE l1 20*37da2899SCharles.Forsyth JMP rm1 21*37da2899SCharles.Forsyth 22*37da2899SCharles.Forsyth/* 23*37da2899SCharles.Forsyth * char is null 24*37da2899SCharles.Forsyth * align to word 25*37da2899SCharles.Forsyth */ 26*37da2899SCharles.Forsythl2: 27*37da2899SCharles.Forsyth ANDCC $3,R9, R0 28*37da2899SCharles.Forsyth BE l3 29*37da2899SCharles.Forsyth MOVB (R9), R7 30*37da2899SCharles.Forsyth ADD $1, R9 31*37da2899SCharles.Forsyth SUBCC R0,R7, R0 32*37da2899SCharles.Forsyth BNE l2 33*37da2899SCharles.Forsyth JMP rm1 34*37da2899SCharles.Forsyth 35*37da2899SCharles.Forsyth/* 36*37da2899SCharles.Forsyth * develop byte masks 37*37da2899SCharles.Forsyth */ 38*37da2899SCharles.Forsythl3: 39*37da2899SCharles.Forsyth MOVW $0xff, R17 40*37da2899SCharles.Forsyth SLL $8,R17, R16 41*37da2899SCharles.Forsyth SLL $16,R17, R13 42*37da2899SCharles.Forsyth SLL $24,R17, R12 43*37da2899SCharles.Forsyth 44*37da2899SCharles.Forsythl4: 45*37da2899SCharles.Forsyth MOVW (R9), R11 46*37da2899SCharles.Forsyth ADD $4, R9 47*37da2899SCharles.Forsyth ANDCC R12,R11, R0 48*37da2899SCharles.Forsyth BE b0 49*37da2899SCharles.Forsyth ANDCC R13,R11, R0 50*37da2899SCharles.Forsyth BE b1 51*37da2899SCharles.Forsyth ANDCC R16,R11, R0 52*37da2899SCharles.Forsyth BE b2 53*37da2899SCharles.Forsyth ANDCC R17,R11, R0 54*37da2899SCharles.Forsyth BNE l4 55*37da2899SCharles.Forsyth 56*37da2899SCharles.Forsythrm1: 57*37da2899SCharles.Forsyth SUB $1,R9, R7 58*37da2899SCharles.Forsyth JMP ret 59*37da2899SCharles.Forsyth 60*37da2899SCharles.Forsythb2: 61*37da2899SCharles.Forsyth SUB $2,R9, R7 62*37da2899SCharles.Forsyth JMP ret 63*37da2899SCharles.Forsyth 64*37da2899SCharles.Forsythb1: 65*37da2899SCharles.Forsyth SUB $3,R9, R7 66*37da2899SCharles.Forsyth JMP ret 67*37da2899SCharles.Forsyth 68*37da2899SCharles.Forsythb0: 69*37da2899SCharles.Forsyth SUB $4,R9, R7 70*37da2899SCharles.Forsyth JMP ret 71*37da2899SCharles.Forsyth 72*37da2899SCharles.Forsythret: 73*37da2899SCharles.Forsyth RETURN 74