Matrix Computation Example (cont.)
[lcntr] LDW .D1T1 *aptr++(4),aa0 ;5 if(lcntr) load a[i] from memory
|| [lcntr] LDW .D2T2 *btmp++(4),bb0 ;5 if(lcntr) load b[i] from memory
|| [lcntr] SUB .L2 lcntr,1,lcntr ;5 if(lcntr) lcntr -= 1
|| B .S2 iloop ;1 branch to iloop
[lcntr] LDW .D1T1 *aptr++(4),aa0 ;6 if(lcntr) load a[i] from memory
|| [lcntr] LDW .D2T2 *btmp++(4),bb0 ;6 if(lcntr) load b[i] from memory
|| [lcntr] SUB .L2 lcntr,1,lcntr ;6 if(lcntr) lcntr -= 1
|| [icntr] SUB .L1 icntr,1,icntr ;6 if(icntr) icntr -= 1
|| MPYSP .M1X aa0,bb0,mult0 ;1 mult0 = a[i]*b[i]
|| [icntr] B .S2 iloop ;2 if(icntr) branch to iloop
[lcntr] LDW .D1T1 *aptr++(4),aa0 ;7 if(lcntr) load a[i] from memory
|| [lcntr] LDW .D2T2 *btmp++(4),bb0 ;7 if(lcntr) load b[i] from memory
|| [lcntr] SUB .L2 lcntr,1,lcntr ;7 if(lcntr) lcntr -= 1
|| [icntr] SUB .L1 icntr,1,icntr ;7 if(icntr) icntr -= 1
|| MPYSP .M1X aa0,bb0,mult0 ;2 mult0 = a[i]*b[i]
|| [icntr] B .S2 iloop ;3 if(icntr) branch to iloop