📄 direct.u
字号:
|* @(#)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 + -