📄 com.u
字号:
|* Reg 1 <- (Reg 2 * Reg 3) + (Reg 2 + 1 * Reg 3 + 1)|* Single Precision Instruction|*routine cs.X2 w01000101110 lnop smul ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; recclk; rcssp ptr1; ptr2+ ; ; ; ; ; ptr3+ ; ; ; ; ; ; ; ; ; rcssp ptr2; ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; ; ; call wait1; csuxm usp; ; ; ; jwerr werr cstat;las csla woem; ; ; ; ; csuxm usp; ; ; ; ; ; ; ; ; jwerr werr cstat;lbsf sadd csla woem; ; ; ; call wait2; ; ; ; ; ; csuxa usp; ; ; ; ; ; ; ; ptr1; jwerr ser1 cstat;woea; dtor; ; ramwe rcssp ptr1; call idle1; ; dtor; ; ramwe ptr1;|*|* Reg 1 <- (Reg 2 * Reg 3) + (Reg 2 + 1 * Reg 3 + 1)|* Double Precision Instruction|*routine cd.X2 w01000101111 lnop dmul ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; recclk; rcsmsw ptr1; ptr2+ ; ; ; recclk; rcslsw ptr1; ptr3+ ; ; ; ; ; ; ; ; ; ; ; ; ; ; rcsmsw ptr2; ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcslsw ptr3; ; lbl cslm; reg; ; rcsmsw ptr3; ; lbmf dmul cslm; reg; ; ; ; csuxm umsw; ; ; ; ; csuxm ulsw; ; ; ; jwerr werr cstat;lam csla woem; ; ; ; ; lal csla woem; ; ; ; ; ; ; ; ; ; csuxm umsw; ; ; ; ; csuxm ulsw; ; ; ; jwerr werr cstat;lbm csla woem; ; ; ; ; lblf dadd csla woem; ; ; ; ; ; ; ; ; call xdfin.alu; ; ; ; ;| ; ; ; ; ;| ; csuxa umsw; ; ; ;| ; csuxa ulsw; ; ; ptr1;| jwerr der1 cstat;woea; dtor; ; ramwe rcsmsw ptr1;| ; woea; dtor; ; ramwe rcslsw ptr1;| call idle1; ; dtor; ; ramwe ptr1;|*|* Reg 1 <- (Reg 2 * Reg 3) + (Reg 2 + 1 * Reg 3 + 1) +|* (Reg 2 + 2 * Reg 3 + 2)|* Single Precision Instruction|*routine cs.X3 w01000110000 lnop smul ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; recclk; rcssp ptr1; ptr2+ call wait1; ; ; ; ; ptr3+ ; ; ; ; rcssp ptr2; ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; ; ; ptr2+ ; csuxm usp; ; ; ; ptr3+ ; ; ; ; ; jwerr werr cstat;las csla woem; ; ; ; ; ; ; ; ; ; ; ; ; rcssp ptr2; ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; ; ; ; csuxm usp; ; ; ; ; ; ; ; ; jwerr werr cstat;lbsf sadd csla woem; ; ; ; ; ; ; ; ; call wait1; csuxm usp; ; ; ; ; lbs csla woem; ; ; ; call wait1; lasf sadd csla csuxa usp;; ; ; jwerr werr cstat;woea; ; ; ; ; ; ; ; ; ; csuxa usp; ; ; ; ; ; ; ; ptr1; jwerr ser1 cstat;woea; dtor; ; ramwe rcssp ptr1; call idle1; ; dtor; ; ramwe ptr1;|*|* Reg 1 <- (Reg 2 * Reg 3) + (Reg 2 + 1 * Reg 3 + 1) +|* (Reg 2 + 2 * Reg 3 + 2)|* Double Precision Instruction|*routine cd.X3 w01000110001 lnop smul ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; recclk; rcsmsw ptr1; ptr2+ ; ; reg; recclk; rcslsw ptr1; ptr3+ call wait1; ; reg; ; ; ; ; ; ; rcsmsw ptr2; ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; ; ptr2+ ; csuxm umsw; ; ; ; ptr3+ ; csuxm ulsw; ; ; ; jwerr werr cstat;lam csla woem; ; ; ; ; lal csla woem; ; ; ; ; ; ; ; ; ; ; ; ; rcsmsw ptr2; ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; ; ; csuxm umsw; ; ; ; ; csuxm ulsw; ; ; ; jwerr werr cstat;lbm csla woem; ; ; ; ; lblf dadd csla woem; ; ; ; ; ; ; ; ; ; ; ; ; ; ; csuxm umsw; ; ; ; ; csuxm ulsw; ; ; ; jwerr werr cstat;lam csla woem; ; ; ; ; lal csla woem; ; ; ; ; lbm csla csuxa umsw; ; ; ; ; lblf dadd csla csuxa ulsw;; ; ; jwerr werr cstat;woea; ; ; ; call xdfin.alu; ; ; ; ;| ; ; ; ; ;| ; csuxa umsw; ; ; ;| ; csuxa ulsw; ; ; ptr1;| jwerr der1 cstat;woea; dtor; ; ramwe rcsmsw ptr1;| ; woea; dtor; ; ramwe rcslsw ptr1;| call idle1; ; dtor; ; ramwe ptr1;|*|* Reg 1 <- (Reg 2 * Reg 3) + (Reg 2 + 1 * Reg 3 + 1) +|* (Reg 2 + 2 * Reg 3 + 2) + (Reg 2 + 3 * Reg 2 + 3)|* Single Precision Instruction|*routine cs.X4 w01000110010 lnop smul ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; recclk; rcssp ptr1; ptr2+ call wait2; ; reg; ; ; ptr3+ ; ; ; ; rcssp ptr2; ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; ; ; ptr2+ ; csuxm usp; ; ; ; ptr3+ ; ; ; ; ; jwerr werr cstat;las csla woem; ; ; ; ; ; ; ; ; ; ; ; ; rcssp ptr2; ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; ; ; ptr2+ ; csuxm usp; ; ; ; ptr3+ ; ; ; ; ; jwerr werr cstat;lbsf sadd csla woem; ; ; ; ; ; ; ; ; ; ; ; ; rcssp ptr2; ; las cslm; reg; ; rcssp ptr3; ; lbsf smul cslm; reg; ; ; call wait1; csuxm usp; ; ; ; jwerr werr cstat;lbs csla woem; ; ; ; ; lasf sadd csla csuxa usp;; ; ; ; ; ; ; ; ; ; ; ; ; jwerr werr cstat;csuxm usp woea; ; ; ; ; ; ; ; ; jwerr werr cstat;lbs csla woem; ; ; ; ; lasf sadd csla csuxa usp;; ; ; ; ; ; ; ; jwerr werr cstat;woea; ; ; ; ; ; ; ; ; ; csuxa usp; ; ; ; ; ; ; ; ptr1; jwerr ser1 cstat;woea; dtor; ; ramwe rcssp ptr1; call idle1; ; dtor; ; ramwe ptr1;|*|* Reg 1 <- (Reg 2 * Reg 3) + (Reg 2 + 1 * Reg 3 + 1) +|* (Reg 2 + 2 * Reg 3 + 2) + (Reg 2 + 3 * Reg 2 + 3)|* Double Precision Instruction|*routine cd.X4 w01000110011 lnop dmul ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; recclk; rcsmsw ptr1; ptr2+ ; ; reg; recclk; rcslsw ptr1; ptr3+ ; ; reg; ; ; ; ; ; ; ; ; ; ; ; rcsmsw ptr2; ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; ; ptr2+ ; csuxm umsw; ; ; ; ptr3+ ; csuxm ulsw; ; ; ; jwerr werr cstat;lam csla woem; ; ; ; ; lal csla woem; ; ; ; ; ; ; ; ; ; ; ; ; rcsmsw ptr2; ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; ; ptr2+ ; csuxm umsw; ; ; ; ptr3+ ; csuxm ulsw; ; ; ; jwerr werr cstat;lbm csla woem; ; ; ; ; lblf dadd csla woem; ; ; ; ; ; ; ; ; ; ; ; ; rcsmsw ptr2; ; lam cslm; reg; ; rcslsw ptr2; ; lal cslm; reg; ; rcsmsw ptr3; ; lbm cslm; reg; ; rcslsw ptr3; ; lblf dmul cslm; reg; ; ; ; csuxm umsw; ; ; ; ptr2+ ; csuxm ulsw; ; ; ; ptr3+ jwerr werr cstat;lam csla woem; ; ; ; ; lal csla woem; ; ; ; ; lbm csla csuxa umsw; ; ; ; ; lblf dadd csla csuxa ulsw;; ; ; jwerr werr cstat;woea; ; ; ; ; csuxm umsw; ; ; ; ; csuxm ulsw; ; ; ; jwerr werr cstat;lam csla woem; ; ; ; ; lal csla woem; ; ; ; ; ; ; ; ; ; lbm csla csuxa umsw; ; ; ; ; lblf dadd csla csuxa ulsw;; ; ; jwerr werr cstat;woea; ; ; ; call xdfin.alu; ; ; ; ;| ; ; ; ; ;| ; csuxa umsw; ; ; ;| ; csuxa ulsw; ; ; ptr1;| jwerr der1 cstat;woea; dtor; ; ramwe rcsmsw ptr1;| ; woea; dtor; ; ramwe rcslsw ptr1;| call idle1; ; dtor; ; ramwe ptr1;|*|* 2 x 2, 3 x 3, 4 x 4 Matrix Move|* Single Precision|*routine cs.MV2 w01001100010 lnop ssub ; ; ; ; ; lpreg!4 call msmovelp; ; ; recclk; rcssp ptr2;routine cs.MV3 w01001100100 lnop ssub ; ; ; ; ; lpreg!9 call msmovelp; ; ; recclk; rcssp ptr2;routine cs.MV4 w01001100110 lnop ssub ; ; ; ; ; lpreg!16 call msmovelp; ; ; recclk; rcssp ptr2;msmovelp: ; ; ; recclk; ptr1; ptr2+ ; ; ; recoe; ramwe rcssp ptr1; lpreg- jloop msmovelp; ; ; recoe; ramwe ptr1; ptr1+ ; ; ; recclk; rcssp ptr2; call idle1; ; ; ; ;|*|* 2 x 2, 3 x 3, 4 x 4 Matrix Move|* Double Precision|*routine cd.MV2 w01001100011 lnop ssub ; ; ; ; ; lpreg!4 call mdmovelp; ; ; recclk; rcsmsw ptr2;routine cd.MV3 w01001100101 lnop ssub ; ; ; ; ; lpreg!9 call mdmovelp; ; ; recclk; rcsmsw ptr2;routine cd.MV4 w01001100111 lnop ssub ; ; ; ; ; lpreg!16 call mdmovelp; ; ; recclk; rcsmsw ptr2;|* move matrix at ptr2 to ptr1mdmovelp: ; ; ; recclk; rcslsw ptr2; ; ; ; ; ptr1; ptr2+ ; ; ; recoe; ramwe rcsmsw ptr1; lpreg- ; ; ; recoe recclk;ramwe ptr1; ; ; ; recoe; ramwe rcslsw ptr1; jloop mdmovelp; ; ; recoe; ramwe ptr1; ; ; ; recclk; rcsmsw ptr2; ptr1+ call idle1; ; ; ; ;|*|* 2 x 2 Matrix Transpose|* Single Precision|*routine cs.TR2 w01001101000 lnop ssub ; ; ; ; ; ptr5!c_dSCRATCH_0 ; ; ; ; ; lpreg!2 call tsmovelp; ; ; ; ; ptr1+ ; ; ; ; ; ptr5!c_dSCRATCH_0 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_1 call tsmove; ; ; ; ; call idle1; ; ; ; ;|*|* 3 x 3 Matrix Transpose|* Single Precision|*routine cs.TR2 w01001101010 lnop ssub ; ; ; ; ; ptr5!c_dSCRATCH_0 ; ; ; ; ; lpreg!7 call tsmovelp; ; ; ; ; ptr1+ ; ; ; ; ; ptr5!c_dSCRATCH_4 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_1 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_6 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_3 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_0 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_5 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_2 call tsmove; ; ; ; ; call idle1; ; ; ; ;|*|* 4 x 4 Matrix Transpose|* Single Precision|*routine cs.TR2 w01001101100 lnop ssub ; ; ; ; ; ptr5!c_dSCRATCH_0 ; ; ; ; ; lpreg!14 call tsmovelp; ; ; ; ; ptr1+ ; ; ; ; ; ptr5!c_dSCRATCH_10 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_6 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_2 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_13 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_9 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_5 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_1 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_12 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_8 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_4 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_0 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_11 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_7 call tsmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_3 call tsmove; ; ; ; ; call idle1; ; ; ; ;|* move matrix at ptr1 to ptr5|* ptr5 is incremented before the loop|* ptr1 is incremented after the looptsmovelp: ; ; ; ; ; ptr5-tsmovelp2: ; ; ; recclk; rcssp ptr1; ptr5+ ; ; ; recclk; ptr5; lpreg- jloop tsmovelp2;; ; recoe; ramwe rcssp ptr5; ptr1+ rtn; ; ; recoe; ramwe ptr5;|* move data at ptr5 to ptr1|* ptr1 is decremented before the loop|* ptr5 is decremented after the looptsmove: ; ; ; recclk; rcssp ptr5; ptr1- ; ; ; recclk; ptr1; ; ; ; recoe; ramwe rcssp ptr1; ptr5- rtn; ; ; recoe; ramwe ptr1;|*|* 2 x 2 Matrix Transpose|* Double Precision|*routine cd.TR2 w01001101001 lnop ssub ; ; ; ; ; ptr5!c_dSCRATCH_0 ; ; ; ; ; lpreg!2 call tdmovelp; ; ; ; ; ptr1+ ; ; ; ; ; ptr5!c_dSCRATCH_0 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_1 call tdmove; ; ; ; ; call idle1; ; ; ; ;|*|* 3 x 3 Matrix Transpose|* Double Precision|*routine cd.TR2 w01001101011 lnop ssub ; ; ; ; ; ptr5!c_dSCRATCH_0 ; ; ; ; ; lpreg!7 call tdmovelp; ; ; ; ; ptr1+ ; ; ; ; ; ptr5!c_dSCRATCH_4 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_1 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_6 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_3 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_0 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_5 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_2 call tdmove; ; ; ; ; call idle1; ; ; ; ;|*|* 4 x 4 Matrix Transpose|* Double Precision|*routine cd.TR2 w01001101101 lnop ssub ; ; ; ; ; ptr5!c_dSCRATCH_0 ; ; ; ; ; lpreg!14 call tdmovelp; ; ; ; ; ptr1+ ; ; ; ; ; ptr5!c_dSCRATCH_10 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_6 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_2 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_13 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_9 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_5 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_1 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_12 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_8 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_4 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_0 call tdmove; ; ; ; ; ; ; ; ; ; ptr5!c_dSCRATCH_11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -