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