xref: /plan9/sys/src/libc/386/strchr.s (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1	TEXT	strchr(SB), $0
2
3	MOVL	s+0(FP), DI
4	MOVB	c+4(FP), AX
5	CMPB	AX, $0
6	JEQ	l2	/**/
7
8/*
9 * char is not null
10 */
11l1:
12	MOVB	(DI), BX
13	CMPB	BX, $0
14	JEQ	ret0
15	ADDL	$1, DI
16	CMPB	AX, BX
17	JNE	l1
18
19	MOVL	DI, AX
20	SUBL	$1, AX
21	RET
22
23/*
24 * char is null
25 */
26l2:
27	MOVL	$-1, CX
28	CLD
29
30	REPN;	SCASB
31
32	MOVL	DI, AX
33	SUBL	$1, AX
34	RET
35
36ret0:
37	MOVL	$0, AX
38	RET
39