Plan 9 from Bell Labs’s /usr/web/sources/plan9/sys/src/libc/386/strchr.s

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


	TEXT	strchr(SB), $0

	MOVL	s+0(FP), DI
	MOVB	c+4(FP), AX
	CMPB	AX, $0
	JEQ	l2	/**/

/*
 * char is not null
 */
l1:
	MOVB	(DI), BX
	CMPB	BX, $0
	JEQ	ret0
	ADDL	$1, DI
	CMPB	AX, BX
	JNE	l1

	MOVL	DI, AX
	SUBL	$1, AX
	RET

/*
 * char is null
 */
l2:
	MOVL	$-1, CX
	CLD

	REPN;	SCASB

	MOVL	DI, AX
	SUBL	$1, AX
	RET

ret0:
	MOVL	$0, AX
	RET

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.