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

📄 diag.u

📁 操作系统SunOS 4.1.3版本的源码
💻 U
📖 第 1 页 / 共 2 页
字号:
	;			dsub enrb loaddp halt;		regtoti;	rcslsw ptr1;	;			dnop tioe tilsw;		;		;			jtierr hang cstat;	dnop tioe tilsw halt;		titotmp;	rcslsw;		;			dnop tioe timsw halt;		titotmp;	rcsmsw;	jloop ctest.A;		dnop;				;		;	;			dnop;				;		;	;			dnop;				;		;		lpreg!4ctest.B:	;			dnop enra loaddp halt;		tmptoti;	rcsmsw;	;			dnop enra loaddp halt;		tmptoti;	rcslsw;	;			dnop;				;		ptr1;		ptr1-	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr1;    lpreg-	;			dadd enrb loaddp halt;		regtoti;	rcslsw ptr1;	;			dnop tioe tilsw;		;		;			jtierr hang cstat;	dnop tioe tilsw halt;		titotmp;	rcslsw;		;			dnop tioe timsw halt;		titotmp;	rcsmsw;	jloop ctest.B;		dnop;				;		;	;			dnop;				;		;	;			dnop;				;		;		lpreg!4ctest.C:	;			dnop enra loaddp halt;		tmptoti;	rcsmsw;	;			dnop enra loaddp halt;		tmptoti;	rcslsw;	;			dnop;				;		ptr1;		ptr1-	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr1;    lpreg-	;			dsub enrb loaddp halt;		regtoti;	rcslsw ptr1;	;			dnop tioe tilsw;		;		;			jtierr hang cstat;	dnop tioe tilsw halt;		titotmp;	rcslsw;		;			dnop tioe timsw halt;		titotmp;	rcsmsw;	jloop ctest.C;		dnop;				;		;	;			dnop;				;		;	;			dnop;				;		;		lpreg!4ctest.D:	;			dnop enra loaddp halt;		tmptoti;	rcsmsw;	;			dnop enra loaddp halt;		tmptoti;	rcslsw;	;			dnop;				;		ptr1;		ptr1-	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr1;    lpreg-	;			dadd enrb loaddp halt;		regtoti;	rcslsw ptr1;	;			dnop tioe tilsw;		;		;			jtierr hang cstat;	dnop tioe tilsw halt;		titotmp;	rcslsw;		;			dnop tioe timsw halt;		titotmp;	rcsmsw;	jloop ctest.D;		dnop;				;		;	;			dnop;				;		;	;			dnop;				;		;		lpreg!6ctest.E:	;			dnop enra loaddp halt;		tmptoti;	rcsmsw;	;			dnop enra loaddp halt;		tmptoti;	rcslsw;	;			dnop;				;		ptr1;		ptr1-	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr1;    lpreg-	;			dsub enrb loaddp halt;		regtoti;	rcslsw ptr1;	;			dnop tioe tilsw;		;		;			jtierr hang cstat;	dnop tioe tilsw halt;		titotmp;	rcslsw;		;			dnop tioe timsw halt;		titotmp;	rcsmsw;	jloop ctest.E;		dnop;				;		;	;			dnop;				;		;	;			dnop enra loaddp halt;		tmptoti;	rcsmsw;	;			dnop enra loaddp halt;		tmptoti;	rcslsw;	;			dnop;				;		ptr5;		ptr5!c_dtestsolution2	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dcmp enrb loaddp halt;		regtoti;	rcslsw ptr5;	;			dnop;				;		;	jne hang cstat;		dnop halt;			;		;	rtn;			dnop;				;		;rdmovelp51:|* move registers at ptr5 to ptr1	;			;				regtotmp;	rcsmsw ptr5;	;			;				regtotmp;	rcslsw ptr5;	;			;				;		ptr1;		ptr5+	;			;				tmptoreg;	rcsmsw ptr1;	lpreg-	jloop rdmovelp51;	;				tmptoreg;	rcslsw ptr1;	rtn;			;				;		ptr5;		ptr1+routine l.diagimm2 001110011011|* Set Reg RAM select to 110; Hang after 2nd access	;			;				adtoti;		imm2;	jclr clp idl2;		;				adtoti;		imm2;	;			;				;		imm2;	hng;			;				;		imm2;	call idle1;		;				;		;routine l.diagimm3 001110011100|* Set Reg RAM select to 110; Hang after 2nd access	;			;				adtoti;		imm3;	jclr clp idl2;		;				adtoti;		imm3;	;			;				;		imm3;	hng;			;				;		imm3;	call idle1;		;				;		;routine c.iadd 001110011001deyong:        ;                       i2add enrb halt;                regtoti;        rcssp imm2;        ;                       i2add;                       	;               ptr3;        ;                       i2add enra halt;                regtoti;        rcssp ptr3;        call csafin;            halt;                           regtotmp;       rcssp ptr1;routine c.imult 001110011010        ;                       imul enrb halt;                regtoti;        rcssp imm2;        ;                       imul;				;               ptr3;        ;                       imul enra halt;                 regtoti;        rcssp ptr3;        call csafin;            halt;                           regtotmp;       rcssp ptr1;routine c.tstlpreg 001001011010|* Test the loop counter	;			;				;		;		lpreg!0xffftest.pt.a:	hng;			;				;		;	;			;				;		;		lpreg-	jloop test.pt.a;	;				;		;	;			;				;		;	jloop0 test.pt.b;	;				;		;	;			;				;		;	hng;			;				;		;test.pt.b:	hng;			;				;		;	call idle1;		;				;		;|*|*   Test Current User's Registers =  NON-DESTRUCTIVE|*routine c.tstreg.n 001001110011	;			;				;		;	lpreg!32	;			;				;		;	ptr5!c_dSCRATCH_0	call rdmovelp15;	;				;		ptr5;	;			;				;		;	lpreg!32	;			;				;		;	ptr5!c_dtest	call rdmovelp51;	;				;		ptr5;	call ctest;		;				;		;	;			;				;		;	lpreg!32	;			;				;		;	ptr5!c_dSCRATCH_0	call rdmovelp51;	;				;		ptr5;	call idle1;		;				;		;rdmovelp15:|* move registers at ptr1 to ptr5	;			;				regtotmp;	rcsmsw ptr1;	;			;				regtotmp;	rcslsw ptr1;	;			;				;		ptr5;		ptr1+	;			;				tmptoreg;	rcsmsw ptr5;	lpreg-	jloop rdmovelp15;	;				tmptoreg;	rcslsw ptr5;	rtn;			;				;		ptr5;		ptr5+routine c.jmpt 001110011101|* Jump condition test	jmp checkall;		;				;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkall:|* Tests for =:	;			;				;		ptr5;	ptr5!sone	;			scmp enra enrb halt;		regtoti;	rcssp ptr5;	;			;				;		;	jeq checkeq1;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkeq1:	jle checkeq2;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkeq2:	jge checkeq3;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkeq3:	jne faileq4;		scmp halt;			;		;	;			;				;		;	jgt faileq5;		scmp halt;			;		;	;			;				;		;	jlt faileq6;		scmp halt;			;		;	;			;				;		ptr5;	ptr5!smone|* Now, test for Greater Than	;			scmp enrb halt;			regtoti;	rcssp ptr5;	;			;				;		;	jgt checkgt1;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkgt1:	jge checkgt2;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkgt2:	jne checkgt3;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkgt3:	jeq failgt4;		scmp halt;			;		;	;			;				;		;	jlt failgt5;		scmp halt;			;		;	;			;				;		;	jle failgt6;		scmp halt;			;		;	;			;				;		ptr5;	ptr5!stwo|* Now, test for Less Than	;			scmp enrb halt;			regtoti;	rcssp ptr5;	;			;				;		;	jlt checklt1;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checklt1:	jle checklt2;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checklt2:	jne checklt3;		scmp halt;			;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checklt3:	jeq faillt4;		scmp halt;			;		;	;			;				;		;	jgt faillt5;		scmp halt;			;		;	;			;				;		;	jge faillt6;		scmp halt;			;		;	;			;				;		ptr5;	ptr5!stwo|* Now, test for tierror	;			sadd enra enrb halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;   ptr5!sqnan	jnotierr checkerr1;	smul enra enrb halt;		regtoti;	rcssp ptr5;	;			;				;		ptr5;	ptr5!c_ssin	hng;			;				;		;	call idle1;		;				;		;faileq4:	hng;			;				;		;	call idle1;		;				;		;faileq5:	hng;			;				;		;	call idle1;		;				;		;faileq6:	hng;			;				;		;	call idle1;		;				;		;failgt4:	hng;			;				;		;	call idle1;		;				;		;failgt5:	hng;			;				;		;	call idle1;		;				;		;failgt6:	hng;			;				;		;	call idle1;		;				;		;faillt4:	hng;			;				;		;	call idle1;		;				;		;faillt5:	hng;			;				;		;	call idle1;		;				;		;faillt6:	hng;			;				;		;	call idle1;		;				;		;checkerr1:	jtierr checkerr2;	smul enra enrb halt;		regtoti;	rcssp ptr5;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;checkerr2:	jnotierr jumpend;	halt;				;		;	;			;				;		;	hng;			;				;		;	call idle1;		;				;		;jumpend:	hng;			;				;		;	call idle1;		;				;		;routine l.diag5 001110010101	;				;		;|* Infinite in 2nd accessloop	jclr clp idl2;		;				;		;	call .;			;				;		;routine l.diag6 001110010110	;				;		;|* A long 2 access instruction:	jclr clp idl2;		;				;		;	;			;				;		;	lpreg!0xfffstart:	;			;				;		;	lpreg-	;			;				;		;	;			;				;		;	;			;				;		;	;			;				;		;	;			;				;		;	;			;				;		;	;			;				;		;	;			;				;		;	jloop start;		;				;		;	;			;				;		;	call idle1;		;				;		;

⌨️ 快捷键说明

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