memccpy.s

来自「著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是」· S 代码 · 共 54 行

S
54
字号
	TEXT	memccpy(SB),$0	MOVL	n+12(FP), CX	CMPL	CX, $0	JEQ	none	MOVL	p2+4(FP), DI	MOVBLZX	c+8(FP), AX	CLD/* * find the character in the second string */	REPN;	SCASB	JEQ	found/* * if not found, set count to 'n' */none:	MOVL	$0, AX	MOVL	n+12(FP), BX	JMP	memcpy/* * if found, set count to bytes thru character */found:	MOVL	DI, AX	SUBL	p2+4(FP), AX	MOVL	AX, BX	ADDL	p1+0(FP), AX/* * copy the memory */memcpy:	MOVL	p1+0(FP), DI	MOVL	p2+4(FP), SI/* * copy whole longs */	MOVL	BX, CX	SHRL	$2, CX	REP;	MOVSL/* * copy the rest, by bytes */	ANDL	$3, BX	MOVL	BX, CX	REP;	MOVSB	RET

⌨️ 快捷键说明

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