strchr.s

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 74 行

S
74
字号
	TEXT	strchr(SB), $0MOVW	R7, 0(FP)	MOVB	c+7(FP), R10	MOVW	s+0(FP), R9	SUBCC	R0,R10, R0	BE	l2/* * char is not null */l1:	MOVB	(R9), R7	ADD	$1, R9	SUBCC	R0,R7, R0	BE	ret	SUBCC	R7,R10, R0	BNE	l1	JMP	rm1/* * char is null * align to word */l2:	ANDCC	$3,R9, R0	BE	l3	MOVB	(R9), R7	ADD	$1, R9	SUBCC	R0,R7, R0	BNE	l2	JMP	rm1/* * develop byte masks */l3:	MOVW	$0xff, R17	SLL	$8,R17, R16	SLL	$16,R17, R13	SLL	$24,R17, R12l4:	MOVW	(R9), R11	ADD	$4, R9	ANDCC	R12,R11, R0	BE	b0	ANDCC	R13,R11, R0	BE	b1	ANDCC	R16,R11, R0	BE	b2	ANDCC	R17,R11, R0	BNE	l4rm1:	SUB	$1,R9, R7	JMP	retb2:	SUB	$2,R9, R7	JMP	retb1:	SUB	$3,R9, R7	JMP	retb0:	SUB	$4,R9, R7	JMP	retret:	RETURN

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?