xref: /inferno-os/libkern/strchr-386.s (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1	TEXT	strchr(SB),$0
2/*
3 * look for null
4 */
5	MOVL	p+0(FP), DI
6	MOVL	$-1, CX
7	MOVL	$0, AX
8	CLD
9
10	REPN;	SCASB
11
12/*
13 * look for real char
14 */
15	MOVL	DI, CX
16	MOVL	p+0(FP), DI
17	SUBL	DI, CX
18	MOVBLZX	c+4(FP), AX
19
20	REPN;	SCASB
21
22	JEQ	found
23	MOVL	$0, AX
24	RET
25
26found:
27	MOVL	DI, AX
28	SUBL	$1, AX
29	RET
30