⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptclbsum386.s

📁 著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是bell实验室开发的Unix后继者。
💻 S
字号:
TEXT ptclbsum(SB), $0	MOVL	addr+0(FP), SI	MOVL	len+4(FP), CX	XORL	AX, AX			/* sum */	TESTL	$1, SI			/* byte aligned? */	MOVL	SI, DI	JEQ	_2align	DECL	CX	JLT	_return	MOVB	0x00(SI), AH	INCL	SI_2align:	TESTL	$2, SI			/* word aligned? */	JEQ	_32loop	CMPL	CX, $2			/* less than 2 bytes? */	JLT	_1dreg	SUBL	$2, CX	XORL	BX, BX	MOVW	0x00(SI), BX	ADDL	BX, AX	ADCL	$0, AX	LEAL	2(SI), SI_32loop:	CMPL	CX, $0x20	JLT	_8loop	MOVL	CX, BP	SHRL	$5, BP	ANDL	$0x1F, CX_32loopx:	MOVL	0x00(SI), BX	MOVL	0x1C(SI), DX	ADCL	BX, AX	MOVL	0x04(SI), BX	ADCL	DX, AX	MOVL	0x10(SI), DX	ADCL	BX, AX	MOVL	0x08(SI), BX	ADCL	DX, AX	MOVL	0x14(SI), DX	ADCL	BX, AX	MOVL	0x0C(SI), BX	ADCL	DX, AX	MOVL	0x18(SI), DX	ADCL	BX, AX	LEAL	0x20(SI), SI	ADCL	DX, AX	DECL	BP	JNE	_32loopx	ADCL	$0, AX_8loop:	CMPL	CX, $0x08	JLT	_2loop	MOVL	CX, BP	SHRL	$3, BP	ANDL	$0x07, CX_8loopx:	MOVL	0x00(SI), BX	ADCL	BX, AX	MOVL	0x04(SI), DX	ADCL	DX, AX	LEAL	0x08(SI), SI	DECL	BP	JNE	_8loopx	ADCL	$0, AX_2loop:	CMPL	CX, $0x02	JLT	_1dreg_2fold:	MOVL	AX, BX	SHRL	$16, BX	JEQ	_2foldx	ANDL	$0xFFFF, AX	ADDL	BX, AX	JMP	_2fold_2foldx:	MOVL	CX, BP	SHRL	$1, BP	ANDL	$0x01, CX_2loopx:	XORL	BX, BX			/* in the loop for PPro */	MOVW	0x00(SI), BX	ADCL	BX, AX	LEAL	0x02(SI), SI	DECL	BP	JNE	_2loopx	ADCL	$0, AX_1dreg:	TESTL	$1, CX			/* 1 byte left? */	JEQ	_fold	XORL	BX, BX	MOVB	0x00(SI), BX	ADDL	BX, AX	ADCL	$0, AX_fold:	MOVL	AX, BX	SHRL	$16, BX	JEQ	_swab	ANDL	$0xFFFF, AX	ADDL	BX, AX	JMP	_fold_swab:	TESTL	$1, addr+0(FP)	/*TESTL	$1, DI*/	JNE	_return	XCHGB	AH, AL_return:	RET

⌨️ 快捷键说明

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