Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
	TEXT	strchr(SB), $0
2
MOVW R1, 0(FP)
3
	MOVB	c+7(FP), R4
4
	MOVW	s+0(FP), R3
5
 
6
	BEQ	R4, l2
7
 
8
/*
9
 * char is not null
10
 */
11
l1:
12
	MOVB	(R3), R1
13
	ADDU	$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
 */
22
l2:
23
	AND	$3,R3, R1
24
	BEQ	R1, l3
25
	MOVB	(R3), R1
26
	ADDU	$1, R3
27
	BNE	R1, l2
28
	JMP	rm1
29
 
30
l3:
31
	MOVW	$0xff000000, R6
32
	MOVW	$0x00ff0000, R7
33
 
34
l4:
35
	MOVW	(R3), R5
36
	ADDU	$4, R3
37
	AND	R6,R5, R1
38
	AND	R7,R5, R2
39
	BEQ	R1, b0
40
	AND	$0xff00,R5, R1
41
	BEQ	R2, b1
42
	AND	$0xff,R5, R2
43
	BEQ	R1, b2
44
	BNE	R2, l4
45
 
46
rm1:
47
	ADDU	$-1,R3, R1
48
	JMP	ret
49
 
50
b2:
51
	ADDU	$-2,R3, R1
52
	JMP	ret
53
 
54
b1:
55
	ADDU	$-3,R3, R1
56
	JMP	ret
57
 
58
b0:
59
	ADDU	$-4,R3, R1
60
	JMP	ret
61
 
62
ret:
63
	RET