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

📄 itest.s

📁 linux内核源码
💻 S
📖 第 1 页 / 共 5 页
字号:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUPM68000 Hi-Performance Microprocessor DivisionM68060 Software PackageProduction Release P1.00 -- October 10, 1994M68060 Software Package Copyright © 1993, 1994 Motorola Inc.  All rights reserved.THE SOFTWARE is provided on an "AS IS" basis and without warranty.To the maximum extent permitted by applicable law,MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSEand any warranty against infringement with regard to the SOFTWARE(INCLUDING ANY MODIFIED VERSIONS THEREOF) and any accompanying written materials.To the maximum extent permitted by applicable law,IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER(INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS)ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.Motorola assumes no responsibility for the maintenance and support of the SOFTWARE.You are hereby granted a copyright license to use, modify, and distribute the SOFTWAREso long as this entire notice is retained without alteration in any modified and/orredistributed versions, and that such modified versions are clearly identified as such.No licenses are granted by implication, estoppel or otherwise under any patentsor trademarks of Motorola, Inc.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#############################################set	SREGS,		-64set	IREGS,		-128set	SCCR,		-130set	ICCR,		-132set	TESTCTR,	-136set	EAMEM,		-140set	EASTORE,	-144set	DATA,		-160#############################################TESTTOP:	bra.l		_060TESTS_start_str:	string		"Testing 68060 ISP started:\n"pass_str:	string		"passed\n"fail_str:	string		" failed\n"	align		0x4chk_test:	tst.l		%d0	bne.b		test_failtest_pass:	pea		pass_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	rtstest_fail:	mov.l		%d1,-(%sp)	bsr.l		_print_num	addq.l		&0x4,%sp	pea		fail_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	rts#############################################_060TESTS_:	link		%a6,&-160	movm.l		&0x3f3c,-(%sp)	pea		start_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp### mul	clr.l		TESTCTR(%a6)	pea		mulul_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	bsr.l		mulul_0	bsr.l		chk_test### div	clr.l		TESTCTR(%a6)	pea		divul_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	bsr.l		divul_0	bsr.l		chk_test### cmp2	clr.l		TESTCTR(%a6)	pea		cmp2_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	bsr.l		cmp2_1	bsr.l		chk_test### movp	clr.l		TESTCTR(%a6)	pea		movp_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	bsr.l		movp_0	bsr.l		chk_test### ea	clr.l		TESTCTR(%a6)	pea		ea_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	mov.l		&0x2,EAMEM(%a6)	bsr.l		ea_0	bsr.l		chk_test### cas	clr.l		TESTCTR(%a6)	pea		cas_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	bsr.l		cas0	bsr.l		chk_test### cas2	clr.l		TESTCTR(%a6)	pea		cas2_str(%pc)	bsr.l		_print_str	addq.l		&0x4,%sp	bsr.l		cas20	bsr.l		chk_test###	movm.l		(%sp)+,&0x3cfc	unlk		%a6	rts##########################################################################################mulul_str:	string		"\t64-bit multiply..."	align		0x4mulul_0:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	clr.l		%d1	mov.l		&0x99999999,%d2	mov.l		&0x88888888,%d3	mov.w		&0x0004,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	mulu.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	clr.l		IREGS+0x8(%a6)	clr.l		IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_1:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0x77777777,%d1	mov.l		&0x99999999,%d2	mov.l		&0x00000000,%d3	mov.w		&0x0004,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	mulu.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	clr.l		IREGS+0x8(%a6)	clr.l		IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_2:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0x00000010,%d1	mov.l		&0x66666666,%d2	mov.w		&0x0000,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	mulu.l		%d1,%d2:%d2	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	mov.l		&0x00000006,IREGS+0x8(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_3:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0x55555555,%d1	mov.l		&0x00000000,%d2	mov.l		&0x00000003,%d3	mov.w		&0x0000,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	mulu.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	mov.l		&0x00000000,IREGS+0x8(%a6)	mov.l		&0xffffffff,IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_4:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0x40000000,%d1	mov.l		&0x00000000,%d2	mov.l		&0x00000004,%d3	mov.w		&0x0000,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	mulu.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	mov.l		&0x00000001,IREGS+0x8(%a6)	mov.l		&0x00000000,IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_5:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0xffffffff,%d1	mov.l		&0x00000000,%d2	mov.l		&0xffffffff,%d3	mov.w		&0x0008,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	mulu.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	mov.l		&0xfffffffe,IREGS+0x8(%a6)	mov.l		&0x00000001,IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_6:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0x80000000,%d1	mov.l		&0x00000000,%d2	mov.l		&0xffffffff,%d3	mov.w		&0x00000,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	muls.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	mov.l		&0x00000000,IREGS+0x8(%a6)	mov.l		&0x80000000,IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_7:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0x80000000,%d1	mov.l		&0x00000000,%d2	mov.l		&0x00000001,%d3	mov.w		&0x0008,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	muls.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	mov.l		&0xffffffff,IREGS+0x8(%a6)	mov.l		&0x80000000,IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		errormulul_8:	addq.l		&0x1,TESTCTR(%a6)	movm.l		DEF_REGS(%pc),&0x3fff	mov.l		&0x00000001,%d1	mov.l		&0x00000000,%d2	mov.l		&0x80000000,%d3	mov.w		&0x0008,ICCR(%a6)	mov.w		&0x0000,%cc	movm.l		&0x7fff,IREGS(%a6)	muls.l		%d1,%d2:%d3	mov.w		%cc,SCCR(%a6)	movm.l		&0x7fff,SREGS(%a6)	mov.l		&0xffffffff,IREGS+0x8(%a6)	mov.l		&0x80000000,IREGS+0xc(%a6)	bsr.l		chkregs	tst.b		%d0	bne.l		error	mov.l		TESTCTR(%a6),%d1	clr.l		%d0	rts#############################################movp_str:	string	"\tmovep..."	align	0x4################################ movep.w	%d0,(0x0,%a0) ################################movp_0:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.w	&0xaaaa,%d0	clr.b	0x0(%a0)	clr.b	0x2(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	%d0,(0x0,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.b	0x2(%a0),%d1	lsl.w	&0x8,%d1	mov.b	0x0(%a0),%d1	cmp.w	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.w	%d0,(0x0,%a0) ################################movp_1:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA+0x4(%a6),%a0	mov.w	&0xaaaa,%d0	clr.l	-0x4(%a0)	clr.l	(%a0)	clr.l	0x4(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	%d0,(0x0,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	tst.l	-0x4(%a0)	bne.l	error	tst.l	0x4(%a0)	bne.l	error	cmpi.l	(%a0),&0xaa00aa00	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error###################################################### movep.w	%d0,(0x0,%a0)			    ##	- this test has %cc initially equal to zero ######################################################movp_2:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.w	&0xaaaa,%d0	clr.b	0x0(%a0)	clr.b	0x2(%a0)	mov.w	&0x0000,ICCR(%a6)	mov.w	&0x0000,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	%d0,(0x0,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.b	0x2(%a0),%d1	lsl.w	&0x8,%d1	mov.b	0x0(%a0),%d1	cmp.w	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.w	(0x0,%a0),%d0 ################################movp_3:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.b	&0xaa,0x0(%a0)	mov.b	&0xaa,0x2(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	(0x0,%a0),%d0	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.w	&0xaaaa,IREGS+0x2(%a6)	mov.w	&0xaaaa,%d1	cmp.w	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.l	%d0,(0x0,%a0) ################################movp_4:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.l	&0xaaaaaaaa,%d0	clr.b	0x0(%a0)	clr.b	0x2(%a0)	clr.b	0x4(%a0)	clr.b	0x6(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.l	%d0,(0x0,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.b	0x6(%a0),%d1	lsl.l	&0x8,%d1	mov.b	0x4(%a0),%d1	lsl.l	&0x8,%d1	mov.b	0x2(%a0),%d1	lsl.l	&0x8,%d1	mov.b	0x0(%a0),%d1	cmp.l	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.l	%d0,(0x0,%a0) ################################movp_5:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA+0x4(%a6),%a0	mov.l	&0xaaaaaaaa,%d0	clr.l	-0x4(%a0)	clr.l	(%a0)	clr.l	0x4(%a0)	clr.l	0x8(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.l	%d0,(0x0,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	tst.l	-0x4(%a0)	bne.l	error	tst.l	0x8(%a0)	bne.l	error	cmpi.l	(%a0),&0xaa00aa00	bne.l	error	cmpi.l	0x4(%a0),&0xaa00aa00	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.l	(0x0,%a0),%d0 ################################movp_6:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.b	&0xaa,0x0(%a0)	mov.b	&0xaa,0x2(%a0)	mov.b	&0xaa,0x4(%a0)	mov.b	&0xaa,0x6(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.l	(0x0,%a0),%d0	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.l	&0xaaaaaaaa,IREGS(%a6)	mov.l	&0xaaaaaaaa,%d1	cmp.l	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.w	%d7,(0x0,%a0) ################################movp_7:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.w	&0xaaaa,%d7	clr.b	0x0(%a0)	clr.b	0x2(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	%d7,(0x0,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.b	0x2(%a0),%d1	lsl.w	&0x8,%d1	mov.b	0x0(%a0),%d1	cmp.w	%d7,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.w	(0x0,%a0),%d7 ################################movp_8:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.b	&0xaa,0x0(%a0)	mov.b	&0xaa,0x2(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	(0x0,%a0),%d7	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.w	&0xaaaa,IREGS+30(%a6)	mov.w	&0xaaaa,%d1	cmp.w	%d7,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.w	%d0,(0x0,%a0) ################################movp_9:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.w	&0xaaaa,%d0	clr.b	0x0(%a0)	clr.b	0x2(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x001f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	%d0,(0x0,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.b	0x2(%a0),%d1	lsl.w	&0x8,%d1	mov.b	0x0(%a0),%d1	cmp.w	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.w	%d0,(0x8,%a0) ################################movp_10:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.w	&0xaaaa,%d0	clr.b	0x0+0x8(%a0)	clr.b	0x2+0x8(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x1f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	%d0,(0x8,%a0)	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.b	0x2+0x8(%a0),%d1	lsl.w	&0x8,%d1	mov.b	0x0+0x8(%a0),%d1	cmp.w	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.w	(0x8,%a0),%d0 ################################movp_11:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.b	&0xaa,0x0+0x8(%a0)	mov.b	&0xaa,0x2+0x8(%a0)	mov.w	&0x001f,ICCR(%a6)	mov.w	&0x1f,%cc	movm.l	&0x7fff,IREGS(%a6)	movp.w	(0x8,%a0),%d0	mov.w	%cc,SCCR(%a6)	movm.l	&0x7fff,SREGS(%a6)	mov.w	&0xaaaa,IREGS+0x2(%a6)	mov.w	&0xaaaa,%d1	cmp.w	%d0,%d1	bne.l	error	bsr.l	chkregs	tst.b	%d0	bne.l	error################################ movep.l	%d0,(0x8,%a0) ################################movp_12:	addq.l	&0x1,TESTCTR(%a6)	movm.l	DEF_REGS(%pc),&0x3fff	lea	DATA(%a6),%a0	mov.l	&0xaaaaaaaa,%d0

⌨️ 快捷键说明

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