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