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

📄 viscsum.s

📁 ARM 嵌入式 系统 设计与实例开发 实验教材 二源码
💻 S
📖 第 1 页 / 共 2 页
字号:
1:	ld		[%o0], %g2		/*  Load			*/	brz,a,pn	%g7, 4f			/*  CTI+IEU1	Group		*/	 and		%o0, 0x38, %g3		/*  IEU0			*/	add		%o0, 4, %o0		/*  IEU0	Group		*/	sub		%o1, 4, %o1		/*  IEU1			*/	addcc		%g2, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%icc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	and		%o0, 0x38, %g3		/*  IEU1	Group		*/4:	srl		%o2, 0, %o2		/*  IEU0	Group		*/	mov		0x40, %g1		/*  IEU1			*/	brz,pn		%g3, 3f			/*  CTI+IEU1	Group		*/	 sub		%g1, %g3, %g1		/*  IEU0			*/	cmp		%o1, 56			/*  IEU1	Group		*/	blu,pn		%icc, 20f		/*  CTI				*/	 andcc		%o0, 8, %g0		/*  IEU1	Group		*/	be,pn		%icc, 1f		/*  CTI				*/	 ldx		[%o0], %g2		/*  Load			*/	add		%o0, 8, %o0		/*  IEU0	Group		*/	sub		%o1, 8, %o1		/*  IEU1			*/	addcc		%g2, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	andcc		%g1, 0x10, %g0		/*  IEU1	Group		*/	be,pn		%icc, 2f		/*  CTI				*/	 and		%g1, 0x20, %g1		/*  IEU0			*/	ldx		[%o0], %g2		/*  Load			*/	ldx		[%o0+8], %g3		/*  Load	Group		*/	add		%o0, 16, %o0		/*  IEU0			*/	sub		%o1, 16, %o1		/*  IEU1			*/	addcc		%g2, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	addcc		%g3, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 2f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/2:	brz,pn		%g1, 3f			/*  CTI+IEU1	Group		*/	 ldx		[%o0], %g2		/*  Load			*/	ldx		[%o0+8], %g3		/*  Load	Group		*/	ldx		[%o0+16], %g5		/*  Load	Group		*/	ldx		[%o0+24], %g7		/*  Load	Group		*/	add		%o0, 32, %o0		/*  IEU0			*/	sub		%o1, 32, %o1		/*  IEU1			*/	addcc		%g2, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	addcc		%g3, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	addcc		%g5, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	addcc		%g7, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 3f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/3:	cmp		%o1, 0xc0		/*  IEU1	Group		*/	blu,pn		%icc, 20f		/*  CTI				*/	 sllx		%o2, 32, %g5		/*  IEU0			*/#ifdef __KERNEL__	VISEntry#endif	addcc		%o2, %g5, %o2		/*  IEU1	Group		*/	sub		%o1, 0xc0, %o1		/*  IEU0			*/	wr		%g0, ASI_BLK_P, %asi	/*  LSU		Group		*/	membar		#StoreLoad		/*  LSU		Group		*/	srlx		%o2, 32, %o2		/*  IEU0	Group		*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU1			*/1:	andcc		%o1, 0x80, %g0		/*  IEU1	Group		*/	bne,pn		%icc, 7f		/*  CTI				*/	 andcc		%o1, 0x40, %g0		/*  IEU1	Group		*/	be,pn		%icc, 6f		/*  CTI				*/	 fzero		%f12			/*  FPA				*/	fzero		%f14			/*  FPA		Group		*/	ldda		[%o0 + 0x000] %asi, %f16	ldda		[%o0 + 0x040] %asi, %f32	ldda		[%o0 + 0x080] %asi, %f48	START_THE_TRICK(f12,f16,f18,f20,f22,f24,f26)	ba,a,pt		%xcc, 3f6:	sub		%o0, 0x40, %o0		/*  IEU0	Group		*/	fzero		%f28			/*  FPA				*/	fzero		%f30			/*  FPA		Group		*/	ldda		[%o0 + 0x040] %asi, %f32	ldda		[%o0 + 0x080] %asi, %f48	ldda		[%o0 + 0x0c0] %asi, %f0	START_THE_TRICK(f28,f32,f34,f36,f38,f40,f42)	ba,a,pt		%xcc, 4f7:	bne,pt		%icc, 8f		/*  CTI				*/	 fzero		%f44			/*  FPA				*/	add		%o0, 0x40, %o0		/*  IEU0	Group		*/	fzero		%f60			/*  FPA				*/	fzero		%f62			/*  FPA		Group		*/	ldda		[%o0 - 0x040] %asi, %f0	ldda		[%o0 + 0x000] %asi, %f16	ldda		[%o0 + 0x040] %asi, %f32	START_THE_TRICK(f60,f0,f2,f4,f6,f8,f10)	ba,a,pt		%xcc, 2f8:	add		%o0, 0x80, %o0		/*  IEU0	Group		*/	fzero		%f46			/*  FPA				*/	ldda		[%o0 - 0x080] %asi, %f48	ldda		[%o0 - 0x040] %asi, %f0	ldda		[%o0 + 0x000] %asi, %f16	START_THE_TRICK(f44,f48,f50,f52,f54,f56,f58)1:	DO_THE_TRICK(f44,f46,f48,f50,f52,f54,f56,f58,f60,f62,f0,f2,f4,f6,f8,f10,f12,f14)	ldda		[%o0 + 0x040] %asi, %f322:	DO_THE_TRICK(f60,f62,f0,f2,f4,f6,f8,f10,f12,f14,f16,f18,f20,f22,f24,f26,f28,f30)	ldda		[%o0 + 0x080] %asi, %f483:	DO_THE_TRICK(f12,f14,f16,f18,f20,f22,f24,f26,f28,f30,f32,f34,f36,f38,f40,f42,f44,f46)	ldda		[%o0 + 0x0c0] %asi, %f04:	DO_THE_TRICK(f28,f30,f32,f34,f36,f38,f40,f42,f44,f46,f48,f50,f52,f54,f56,f58,f60,f62)	add		%o0, 0x100, %o0		/*  IEU0	Group		*/	subcc		%o1, 0x100, %o1		/*  IEU1			*/	bgeu,a,pt	%icc, 1b		/*  CTI				*/	 ldda		[%o0 + 0x000] %asi, %f16	membar		#Sync			/*  LSU		Group		*/	DO_THE_TRICK(f44,f46,f48,f50,f52,f54,f56,f58,f60,f62,f0,f2,f4,f6,f8,f10,f12,f14)	END_THE_TRICK(f60,f62,f0,f2,f4,f6,f8,f10,f12,f14,f16,f18,f20,f22,f24,f26,f28,f30)#ifdef __KERNEL__	ldub		[%g6 + AOFF_task_thread + AOFF_thread_current_ds], %g7#endif	and		%o1, 0x3f, %o1		/*  IEU0	Group		*/#ifdef __KERNEL__	VISExit	wr		%g7, %g0, %asi#endif20:	andcc		%o1, 0xf0, %g1		/*  IEU1	Group		*/	be,pn		%icc, 23f		/*  CTI				*/	 and		%o1, 0xf, %o3		/*  IEU0			*/#ifdef __KERNEL__22:	sll		%g1, 1, %o4		/*  IEU0	Group		*/	sethi		%hi(23f), %g7		/*  IEU1			*/	sub		%g7, %o4, %g7		/*  IEU0	Group		*/	jmpl		%g7 + %lo(23f), %g0	/*  CTI		Group brk forced*/	 add		%o0, %g1, %o0		/*  IEU0			*/#else22:	rd		%pc, %g7		/*  LSU		Group+4bubbles	*/	sll		%g1, 1, %o4		/*  IEU0	Group		*/	sub		%g7, %o4, %g7		/*  IEU0	Group (regdep)	*/	jmpl		%g7 + (23f - 22b), %g0	/*  CTI		Group brk forced*/	 add		%o0, %g1, %o0		/*  IEU0			*/#endif	CSUM_LASTCHUNK(0xe0)	CSUM_LASTCHUNK(0xd0)	CSUM_LASTCHUNK(0xc0)	CSUM_LASTCHUNK(0xb0)	CSUM_LASTCHUNK(0xa0)	CSUM_LASTCHUNK(0x90)	CSUM_LASTCHUNK(0x80)	CSUM_LASTCHUNK(0x70)	CSUM_LASTCHUNK(0x60)	CSUM_LASTCHUNK(0x50)	CSUM_LASTCHUNK(0x40)	CSUM_LASTCHUNK(0x30)	CSUM_LASTCHUNK(0x20)	CSUM_LASTCHUNK(0x10)	CSUM_LASTCHUNK(0x00)23:	brnz,pn		%o3, 26f		/*  CTI+IEU1	Group		*/24:	 sllx		%o2, 32, %g1		/*  IEU0			*/25:	addcc		%o2, %g1, %o0		/*  IEU1	Group		*/	srlx		%o0, 32, %o0		/*  IEU0	Group (regdep)	*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o0, 1, %o0		/*  IEU1			*/1:	retl					/*  CTI		Group brk forced*/	 srl		%o0, 0, %o0		/*  IEU0			*/26:	andcc		%o1, 8, %g0		/*  IEU1	Group		*/	be,pn		%icc, 1f		/*  CTI				*/	 ldx		[%o0], %g3		/*  Load			*/	add		%o0, 8, %o0		/*  IEU0	Group		*/	addcc		%g3, %o2, %o2		/*  IEU1	Group		*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	andcc		%o1, 4, %g0		/*  IEU1	Group		*/	be,a,pn		%icc, 1f		/*  CTI				*/	 clr		%g2			/*  IEU0			*/	ld		[%o0], %g2		/*  Load			*/	add		%o0, 4, %o0		/*  IEU0	Group		*/	sllx		%g2, 32, %g2		/*  IEU0	Group		*/1:	andcc		%o1, 2, %g0		/*  IEU1			*/	be,a,pn		%icc, 1f		/*  CTI				*/	 clr		%o4			/*  IEU0	Group		*/	lduh		[%o0], %o4		/*  Load			*/	add		%o0, 2, %o0		/*  IEU1			*/	sll		%o4, 16, %o4		/*  IEU0	Group		*/1:	andcc		%o1, 1, %g0		/*  IEU1			*/	be,a,pn		%icc, 1f		/*  CTI				*/	 clr		%o5			/*  IEU0	Group		*/	ldub		[%o0], %o5		/*  Load			*/	sll		%o5, 8, %o5		/*  IEU0	Group		*/1:	or		%g2, %o4, %o4		/*  IEU1			*/	or		%o5, %o4, %o4		/*  IEU0	Group (regdep)	*/	addcc		%o4, %o2, %o2		/*  IEU1	Group (regdep)	*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	ba,pt		%xcc, 25b		/*  CTI		Group		*/	 sllx		%o2, 32, %g1		/*  IEU0			*/21:	srl		%o2, 0, %o2		/*  IEU0	Group		*/	cmp		%o1, 0			/*  IEU1			*/	be,pn		%icc, 24b		/*  CTI				*/	 andcc		%o1, 4, %g0		/*  IEU1	Group		*/	be,a,pn		%icc, 1f		/*  CTI				*/	 clr		%g2			/*  IEU0			*/	lduh		[%o0], %g3		/*  Load			*/	lduh		[%o0+2], %g2		/*  Load	Group		*/	add		%o0, 4, %o0		/*  IEU0	Group		*/	sllx		%g3, 48, %g3		/*  IEU0	Group		*/	sllx		%g2, 32, %g2		/*  IEU0	Group		*/	or		%g3, %g2, %g2		/*  IEU0	Group		*/1:	andcc		%o1, 2, %g0		/*  IEU1			*/	be,a,pn		%icc, 1f		/*  CTI				*/	 clr		%o4			/*  IEU0	Group		*/	lduh		[%o0], %o4		/*  Load			*/	add		%o0, 2, %o0		/*  IEU1			*/	sll		%o4, 16, %o4		/*  IEU0	Group		*/1:	andcc		%o1, 1, %g0		/*  IEU1			*/	be,a,pn		%icc, 1f		/*  CTI				*/	 clr		%o5			/*  IEU0	Group		*/	ldub		[%o0], %o5		/*  Load			*/	sll		%o5, 8, %o5		/*  IEU0	Group		*/1:	or		%g2, %o4, %o4		/*  IEU1			*/	or		%o5, %o4, %o4		/*  IEU0	Group (regdep)	*/	addcc		%o4, %o2, %o2		/*  IEU1	Group (regdep)	*/	bcs,a,pn	%xcc, 1f		/*  CTI				*/	 add		%o2, 1, %o2		/*  IEU0			*/1:	ba,pt		%xcc, 25b		/*  CTI		Group		*/	 sllx		%o2, 32, %g1		/*  IEU0			*/

⌨️ 快捷键说明

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