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

📄 ptclbsum386.s

📁 这是一个同样来自贝尔实验室的和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	MOVL	CX, BP	SHRL	$1, BP	ANDL	$0x01, CX_2loopx:	MOVWLZX	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 + -