Subversion Repositories planix.SVN

Rev

Details | Last modification | View Log | RSS feed

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