资源描述:
《汇编矩阵相乘》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.dataPrintf1:.asciiz""Printf2:.asciiz"*"Printf3:.asciiz"="Prompt1:.asciiz"FirstMatrixcol:"Prompt2:.asciiz"FirstMatrixrowandSecondMatrixcol:"Prompt3:.asciiz"SecondMatrixrow:"Prompt4:.asciiz"FirstMatrix:"Prompt5:.asciiz"SecondMatrix:"PrintfFormat:.asciiz"%g".align2Print
2、fPar:.wordPrintfFormatPrintfValue:.space4data1:.space1024data3:.space1024data2:.space1024;.text.globalmainmain:addir1,r0,Prompt1jalInputUnsignedaddur17,r1,r0addir1,r0,Prompt2jalInputUnsignedaddur11,r1,r0addir1,r0,Prompt3jalInputUnsignedaddur12,r1,r0addir8,r0,0addir7,r0,
3、0addir3,r0,data1;取矩阵A当前元素在内存区域中的地址Matrix1:subur5,r7,r17beqzr5,End1addir6,r0,0beqzr7,Matrix01addir3,r3,64addir8,r0,0Matrix01:subur5,r6,r11beqzr5,Matrix001addir1,r0,Prompt4jalInputUnsignedaddur9,r1,r0addur2,r8,r3sw0(r2),r9;storedata3,把新计算出来的元素放入当前内存单元addir8,r8,4addir6,r6,
4、1jMatrix01Matrix001:addir7,r7,1jMatrix1End1:addir3,r0,data2;取矩阵B当前元素在内存区域中的地址addir7,r0,0addir8,r0,0Matrix2:subur5,r7,r11beqzr5,End2addir6,r0,0beqzr7,Matrix02addir3,r3,64addir8,r0,0Matrix02:subur5,r6,r12beqzr5,Matrix002addir1,r0,Prompt5jalInputUnsignedaddur9,r1,r0addur2,
5、r8,r3sw0(r2),r9;storedata3,把新计算出来的元素放入当前内存单元addir8,r8,4addir6,r6,1jMatrix02Matrix002:addir7,r7,1jMatrix2End2:addir9,r0,0addir2,r0,data1;取矩阵A当前元素在内存区域中的地址addir8,r0,data3;r1表示矩阵C当前的地址addir10,r8,0Loop1:subur5,r9,r17beqzr5,Printfaddir6,r0,0addir3,r0,data2;取矩阵B当前元素在内存区域中的地址b
6、eqzr9,Loop2addir2,r2,64addir8,r8,64addir10,r8,0Loop2:subur5,r6,r11beqzr5,ALaddir1,r2,0addir4,r3,0addir7,r0,0beqzr6,Loop3addir3,r3,4addir4,r3,0jLoop3AL:addir9,r9,1jLoop1Loop3:subur5,r7,r12beqzr5,BLlwr15,0(r4)lwr13,0(r1)multur14,r13,r15addur16,r16,r14addir7,r7,1addir4,r4,
7、64addir1,r1,4jLoop3BL:sw0(r10),r16;storedata3,把新计算出来的元素放入当前内存单元addir10,r10,4;赋值完一个元素,偏移量自增1addir16,r0,0addir6,r6,1jLoop2Printf:addir8,r0,0addir7,r0,0addir3,r0,data1;取矩阵A当前元素在内存区域中的地址PrintfMatrix1:subur5,r7,r17beqzr5,PrintfEnd1addir6,r0,0beqzr7,PrintfMatrix01addir3,r3,64
8、addir8,r0,0PrintfMatrix01:subur5,r6,r11beqzr5,PrintfMatrix001addur2,r8,r3lff10,0(r2);R1->D0D0..Countregistercv