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

📄 direct.u

📁 操作系统SunOS 4.1.3版本的源码
💻 U
📖 第 1 页 / 共 2 页
字号:
|*	@(#)direct.u 1.1 92/07/30 Copyright Sun Microsystems, Inc.  1988|*|*              Weitek Single Precision ALU Instructions|*|*      Operations with two operands and one resultroutine c.ssub 001010000000 	enra halt;			regtoti;	rcssp imm2;	;			ssub enrb halt;			regtoti;	rcssp ptr3;        call csafin;            halt;				regtotmp;	rcssp ptr1;csafin:	;			halt;				;		ptr1;	jtierr ser1 cstat;	tioe tisp halt;			titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;routine c.sdiff 001010000100 	enra halt;			regtoti;	rcssp imm2;	;			sdiff enrb halt;		regtoti;	rcssp ptr3;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.ssubm 001010001000 	enra halt;			regtoti;	rcssp imm2;	;			ssubm enrb halt;		regtoti;	rcssp ptr3;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.sadd 001010100000 	enra halt;			regtoti;	rcssp imm2;	;			sadd enrb halt;			regtoti;	rcssp ptr3;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.ssum 001010100100 	enra halt;			regtoti;	rcssp imm2;	;			ssum enrb halt;			regtoti;	rcssp ptr3;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.saddm 001010101000 	enra halt;			regtoti;	rcssp imm2;	;			saddm enrb halt;		regtoti;	rcssp ptr3;        call csafin;            halt;				regtotmp;	rcssp ptr1;|*|*      Operations with one operand and one result|*routine c.sneg 001010010000 	sneg enra halt;                 regtoti;	rcssp imm2;        ;                       sneg halt;                 	;		ptr1;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.sident 001010110000 	enra halt;			;		rcssp imm2;	ptr5!0x400+0x0	        ;                       sadd enrb halt;                 regtoti;        rcssp ptr5;        ;                       sadd halt;                 	;        	ptr1;        call csafin;            halt;                           regtotmp;	rcssp ptr1;routine c.sabs 001010111000 	sabs enra halt;                 regtoti;	rcssp imm2;        ;                       sabs halt;			;		ptr1;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.sexct 001011100000 	sexct enra halt;                regtoti;	rcssp imm2;        ;                       sexct halt;			;		ptr1;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.swdnrm 001011100100 	swdnrm enra halt;               regtoti;	rcssp imm2;        ;                       swdnrm halt;               	;		ptr1;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.sinxct 001011101000 	sinxct enra halt;               regtoti;	rcssp imm2;        ;                       sinxct halt;               	;		ptr1;        call csafin;            halt;				regtotmp;	rcssp ptr1;routine c.sfloat 001011110100	sfloat enra halt;               regtoti;	rcssp imm2;        ;                       sfloat halt;               	;		ptr1;        call csafin;            halt;				regtotmp;	rcssp ptr1;|*|*      Operations with two operands and no result|*routine c.scmp 001011000000 	enra halt;			regtoti;        rcssp imm2;	;			scmp enrb halt;			regtoti;	rcssp ptr3;        ;	                scmp;				;               ;dispstat:	jtierr hang cstat;	scmp halt;			;		;	pipe idl1;		snop halt;			;		imm2;routine c.scmpm 001011001000 	enra halt;	                regtoti;        rcssp imm2;	;			scmpm enrb halt;		regtoti;	rcssp ptr3;        call dispstat;            ;				;               ;|*|*      Operations with one operand and no result|*routine c.scmp0 001011010000 	enra halt;			regtoti;	rcssp imm2;        ;                       ;                               ;               ptr5;	ptr5!0x400+0x0        ;                       scmp enrb halt;                 regtoti;        rcssp ptr5;        call dispstat;		;				;               ;|*|*      Operations with one operand and one integer result (i.e. from l.s.|*      portion of Weitek chip)routine c.scvtint 001011110000	scvtint enra halt;		regtoti;	rcssp imm2;	;			scvtint halt;			;		ptr1;	;			halt;				regtotmp;	rcssp ptr1;	;			halt;				;		ptr1;	jtierr dckres cstat;	snop enra tioe tisp halt;	titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;	ptr5!szerodckres:	;			scmp enrb halt;			regtoti;	rcssp ptr5;	;			;				;		ptr5;	ptr5!c_ssin	jne ser1;		smul enra enrb halt;		regtoti;	rcssp ptr5;	;			;				;		;	jtierr dckres cstat;	snop halt;			;		imm2;	pipe idl1;		snop halt;			;		imm2;	ptr5!szero|*|*              Weitek Double Precision ALU Instructions|*|*      Operations with two operands and one resultroutine c.dsub 001010000001 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;	;			dnop enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr3;	;			dsub enrb loaddp halt;		regtoti;	rcslsw ptr3;cdafin:	;			dnop halt;			regtotmp;	rcslsw ptr1;	;			dnop halt;			;		ptr1;	jtierr der1 cstat;	dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;routine c.ddiff 001010000101 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;	;			dnop enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr3;	call cdafin;		ddiff enrb loaddp halt;		regtoti;	rcslsw ptr3;routine c.dsubm 001010001001 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;	;			dnop enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr3;	call cdafin;		dsubm enrb loaddp halt;		regtoti;	rcslsw ptr3;routine c.dadd 001010100001 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;	;			dnop enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr3;	call cdafin;		dadd enrb loaddp halt;		regtoti;	rcslsw ptr3;routine c.dsum 001010100101 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;	;			dnop enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr3;	call cdafin;		dsum enrb loaddp halt;		regtoti;	rcslsw ptr3;routine c.daddm 001010101001 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;	;			dnop enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr3;	call cdafin;		daddm enrb loaddp halt;		regtoti;	rcslsw ptr3;|*|*      Operations with one operand and one result|*routine c.dneg 001010010001     ;				;		ptr1;	;			dnop;				regtotmp;	rcslsw ptr1;	;			dnop enra loaddp halt;		regtoti;	rcsmsw imm2;        ;                       dneg enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop;				;		ptr1;	jtierr der1 cstat;	dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;routine c.dident 001010110001 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;        ;                       dnop enra loaddp halt;		regtoti;	rcslsw imm2;	ptr5!0x600+0x0	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	call cdafin;		dadd enrb loaddp halt;		regtoti;	rcslsw ptr5;routine c.dabs 001010111001	;				;		ptr1;	;			dnop;				regtotmp;	rcslsw ptr1;        ;                       dnop enra loaddp halt;		regtoti;	rcsmsw imm2;        ;                       dabs enra loaddp halt;		regtoti;	rcslsw imm2;	;			dnop;				;		ptr1;	jtierr der1 cstat;	dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;routine c.dexct 001011100001 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2; 	call cdafin;		dexct enra loaddp halt;		regtoti;	rcslsw imm2;routine c.dwdnrm 001011100101 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;        call cdafin;		dwdnrm enra loaddp halt;	regtoti;	rcslsw imm2;routine c.dinxct 001011101001 	dnop enra loaddp halt;		regtoti;	rcsmsw imm2;        call cdafin;		dinxct enra loaddp halt;	regtoti;	rcslsw imm2;routine c.dfloat 001011110101 	;				;		ptr1;	;			;				regtotmp;	rcslsw ptr1;        ;                       dfloat enra loaddp halt;	regtoti;	rcssp imm2;        ;			dfloat enra loaddp halt; 	regtoti;	rcssp imm2;	;			dnop;				;		ptr1;	jtierr der1 cstat;	dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;|*|*      Operations with two operands and no resultroutine c.dcmp 001011000001 	dnop enra loaddp halt;          regtoti;        rcsmsw imm2;        ;                       dnop enra loaddp halt;          regtoti;        rcslsw imm2;        ;                       dnop enrb loaddp halt;          regtoti;	rcsmsw ptr3;        ;                       dcmp enrb loaddp halt;          regtoti;	rcslsw ptr3;        ;                       dnop;                           ;               ;        jtierr hang cstat;      halt;				;               ;	pipe idl1;		snop halt;			;		imm2;routine c.dcmpm 001011001001 	dnop enra loaddp halt;          regtoti;        rcsmsw imm2;        ;                       dnop enra loaddp halt;          regtoti;        rcslsw imm2;        ;                       dnop enrb loaddp halt;          regtoti;	rcsmsw ptr3;        ;                       dcmpm enrb loaddp halt;		regtoti;	rcslsw ptr3;        ;                       dnop;                           ;               ;        jtierr hang cstat;      halt;				;               ;	pipe idl1;		snop halt;			;		imm2;|*      Operations with one operand and no resultroutine c.dcmp0 001011010001 	dnop enra loaddp halt;          regtoti;        rcsmsw imm2;        ;                       dnop enra loaddp halt;          regtoti;        rcslsw imm2;	ptr5!0x600+0x0	;			dnop enrb loaddp halt;		regtoti;	rcsmsw ptr5;	;			dcmp enrb loaddp halt;		regtoti;	rcslsw ptr5;        ;                       dnop;                           ;               ;        jtierr hang cstat;      halt;				;               ;	pipe idl1;		snop halt;			;		imm2;|*      Operations with one operand and one integer result (i.e. from l.s.|*      portion of Weitek chip)routine c.dcvtint 001011110001 	dnop enra loaddp halt;          regtoti;        rcsmsw imm2;	;                       dcvtint enra loaddp halt;	regtoti;        rcslsw imm2;	;			halt;				regtotmp;	rcssp ptr1;	;			halt;				;		ptr1;	jtierr dckres cstat;	snop enra tioe tisp halt;	titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;	ptr5!szero|*|*              Weitek Single Precision ALU Convert Instructions|*routine c.dcvts 001011111000 	;				;		ptr1;	;			;				regtotmp;	rcssp ptr1;        ;                       dnop enra loaddp halt;          regtoti;        rcsmsw ptr2;        ;                       dcvts enra loaddp halt;		regtoti;        rcslsw ptr2;	;			;				;		ptr1;	jtierr ser1 cstat;	dnop tioe tisp halt;		titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;routine c.scvtd 001011111001 	;				;		ptr1;	;			;				regtotmp;	rcslsw ptr1;	;			scvtd enra loaddp halt;		regtoti;	rcssp ptr2;	;			scvtd enra loaddp halt;		regtoti;	rcssp ptr2;	;			dnop tioe tilsw;		;		ptr1;	jtierr der1 cstat;	dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;|*|*              Weitek Single Precision ALU Divide Instructions|*routine c.sdiv 001010001100 	enra halt;			regtoti;	rcssp imm2;	;			sdiv enrb halt;			regtoti;	rcssp ptr3;	;			halt;				regtotmp;	rcssp ptr1;	;			halt;				;		;	;			;				;		;	;			;				;		;	;			halt;				;		ptr1;	jtierr ser1 cstat;	tioe tisp halt;			titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;routine c.sdiva 001010011100 	enra halt;			regtoti;	rcssp imm2;	;			sdiva enrb halt;		regtoti;	rcssp ptr3;	;			halt;				regtotmp;	rcssp ptr1;	;			halt;				;		;	;			;				;		;	;			;				;		;	;			halt;				;		ptr1;	jtierr ser1 cstat;	tioe tisp halt;			titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;routine c.sdivb 001010101100 	enra halt;			regtoti;	rcssp imm2;	;			sdivb enrb halt;		regtoti;	rcssp ptr3;	;			halt;				regtotmp;	rcssp ptr1;	;			halt;				;		;	;			;				;		;	;			;				;		;	;			halt;				;		ptr1;	jtierr ser1 cstat;	tioe tisp halt;			titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;routine c.sdivab 001010111100 	enra halt;			regtoti;	rcssp imm2;	;			sdivab enrb halt;		regtoti;	rcssp ptr3;	;			halt;				regtotmp;	rcssp ptr1;	;			halt;				;		;	;			;				;		;	;			;				;		;	;			halt;				;		ptr1;	jtierr ser1 cstat;	tioe tisp halt;			titoreg;	rcssp ptr1;	pipe idl1;		snop halt;			;		imm2;|*|*              Weitek Double Precision ALU Divide Instructions|*routine c.ddiv 001010001101 	dnop enra loaddp halt;          regtoti;        rcsmsw imm2;        ;                       dnop enra loaddp halt;          regtoti;        rcslsw imm2;	;			ddiv enrb loaddp halt;		regtoti;	rcsmsw ptr3;	;			ddiv enrb loaddp halt;		regtoti;	rcslsw ptr3;	;			dnop;				regtotmp;	rcslsw ptr1;	;			dnop halt;			;		;	;			dnop;				;		;	;			dnop;				;		;	;			dnop;				;		;	;			dmul;				;		;	;			dmul halt;			;		ptr1;	jtierr der1 cstat;	dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;routine c.ddiva 001010011101 	dnop enra loaddp halt;          regtoti;        rcsmsw imm2;        ;                       dnop enra loaddp halt;          regtoti;        rcslsw imm2;	;			ddiva enrb loaddp halt;		regtoti;	rcsmsw ptr3;	;			ddiva enrb loaddp halt;		regtoti;	rcslsw ptr3;	lpreg!1	;			dnop;				regtotmp;	rcslsw ptr1;	;			dnop halt;			;		;	;			dnop;				;		;	;			dnop;				;		;	;			dnop;				;		;	;			dmul;				;		;	;			dmul halt;			;		ptr1;	jtierr der1 cstat;	dnop tioe tilsw halt;		titoreg;	rcslsw ptr1;	call idle1;		dnop tioe timsw halt;		titoreg;	rcsmsw ptr1;routine c.ddivb 001010101101 	dnop enra loaddp halt;          regtoti;        rcsmsw imm2;        ;                       dnop enra loaddp halt;          regtoti;        rcslsw imm2;	;			ddivb enrb loaddp halt;		regtoti;	rcsmsw ptr3;	;			ddivb enrb loaddp halt;		regtoti;	rcslsw ptr3;	lpreg!1	;			dnop;				regtotmp;	rcslsw ptr1;	;			dnop halt;			;		;	;			dnop;				;		;	;			dnop;				;		;	;			dnop;				;		;	;			dmul;				;		;	;			dmul halt;			;		ptr1;

⌨️ 快捷键说明

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