``````           .data
``````

dat1: .space 64
dat2: .space 64
result: .space 64

Prompt1: .asciiz "~~~~~~~~~~~~~~~~~~~~~~~martrix multiply~~~~~~~~~~~~~~~~~~~~~\n
——————————————————————written by hhq—\n
1.请输入矩阵A和矩阵B \n
2.输出矩阵A和矩阵B \n
3.显示相乘的结果 \n
4.重复操作 \n
5.退出 \n

______________________________________________________________\n
****************************************************************
Prompt6: .asciiz 请输入你的选择：\n"

PrintfFormat: .asciiz "%d "
.align 2
PrintfPar: .word PrintfFormat
PrintfValue: .space 4
PrintfFormat1: .asciiz "\n"
.align 2
PrintfPar1: .word PrintfFormat1
PrintfValue1: .space 4
PrintfFormat2: .asciiz "Output the mactrix A:\n"
.align 2
PrintfPar2: .word PrintfFormat2
PrintfValue2: .space 4
PrintfFormat3: .asciiz "Output the mactrix B:\n"
.align 2
PrintfPar3: .word PrintfFormat3
PrintfValue3: .space 4
PrintfFormat4: .asciiz "Output the mactrix C:\n"
.align 2
PrintfPar4: .word PrintfFormat4
PrintfValue4: .space 4
.text
.global main

beqz

jal InputUnsigned ;read uns.-integer into R1
movi2fp f1,r1 ;矩阵A的行数
jal InputUnsigned ;read uns.-integer into R1
movi2fp f2,r1 ;矩阵A的列数和B的行数
jal InputUnsigned ;read uns.-integer into R1
movi2fp f3,r1 ;矩阵B的列数

``````            movfp2i         r8,f1
movfp2i         r6,f2
multu           r4,r6,r8          ;A的元素的个数r4
``````

loop1:
jal InputUnsigned
sb 0(r2),r1 ;存储字节，读入元素
sub r4,r4,1 ;总个数减1
bnez r4,loop1 ;总个数为不为0跳转输入下一个元素

``````            addi            r10,r0,0          ;分别独处矩阵A的元素值
sw              PrintfValue2,r1
trap            5
``````

loopA:
lbu r1,0(r2)
sw PrintfValue,r1
trap 5
sub r6,r6,1 ;矩阵A的列数减1
beqz r6,outputA ;矩阵A的列数为0时跳转
j loopA ;否则继续
outputA:
sw PrintfValue1,r1
trap 5

sub r8,r8,1 ;矩阵A的行数减1
beqz r8,countinueB ;为0跳转
movfp2i r6,f2
j loopA
countinueB:
movfp2i r6,f2
movfp2i r12,f3
multu r4,r6,r12 ;B的元素的个数r4
loop2:
jal InputUnsigned
sb 0(r2),r1
sub r4,r4,1
bnez r4,loop2

``````            addi            r10,r0,0
sw              PrintfValue3,r1
trap            5
``````

loopB:
lbu r1,0(r2)
sw PrintfValue,r1
trap 5
sub r12,r12,1
beqz r12,outputB
j loopB
outputB:
sw PrintfValue1,r1
trap 5

sub r6,r6,1
beqz r6,countinue
movfp2i r12,f3
j loopB
countinue:

line: movi2fp f4,r5 ;判断是否扫描完
ltf f4,f1 ;f4>f1跳转（矩阵A的行是否扫描完）

bfpf finish ;是，则跳转结束程序

column: movi2fp f4,r6

ltf f4,f3 ;col（f3）<f4，矩阵B的列是否扫描完

``````            movfp2i         r1,f2
multu           r10,r5,r1           ;i<-l*n   r10表示矩阵A当前行的第一个元素的索引
addi            r7,r6,0             ;mov col to j（矩阵B某一列的某个元素的索引）
movfp2i         r1,f2               ;f2是矩阵A的列数
multu           r9,r1,r9            ;p<-n*(l+1)，r9代表矩阵A当前行中最后一个元素在数组中的索引
``````

calculate: movi2fp f4,r10
movi2fp f9,r9
ltf f4,f9 ;compare i to pz（判断是否计算到当前行的最后一个元素）
bfpf asign ;当前行列相乘完毕，得出结果矩阵C的一个元素（跳转赋值）
lbu r2,0(r1) ;从r1所指向的内存单元中取出矩阵A当前的元素暂存在r2
lbu r3,0(r1) ;从r1所指向的内存单元中取出矩阵B当前的元素暂存在r3
multu r1,r2,r3 ;temp1<-dat1[i]+dat2[j]
movfp2i r1,f3

j calculate

sb 0(r1),r11 ;store result，把新计算出来的元素放入当前内存单元
j column ;矩阵B新的一列开始

j line ;矩阵A新的一行开始
finish:
movfp2i r8,f1
movfp2i r12,f3
sw PrintfValue4,r1
trap 5
loop3:
lbu r1,0(r2)
sw PrintfValue,r1
trap 5
sub r12,r12,1
beqz r12,outputC
j loop3
outputC:
sw PrintfValue1,r1
trap 5

sub r8,r8,1
beqz r8,againChoice
movfp2i r12,f3
j loop3
againChoice:
jal InputUnsigned
beqz r1,end
j main
end: trap 0 ;

``````
``````

1个回答

multu r1,r2,r3 ;temp1<-dat1[i]+dat2[j]
movfp2i r1,f3

j calculate
sb 0(r1),r11 ;store result，把新计算出来的元素放入当前内存单元
j column ;矩阵B新的一列开始
j line ;矩阵A新的一行开始
finish:
movfp2i r8,f1
movfp2i r12,f3
sw PrintfValue4,r1
trap 5
loop3:
lbu r1,0(r2)
sw PrintfValue,r1
trap 5
sub r12,r12,1
beqz r12,outputC
j loop3
outputC:
sw PrintfValue1,r1
trap 5

sub r8,r8,1
beqz r8,againChoice
movfp2i r12,f3
j loop3
againChoice:
jal InputUnsigned
beqz r1,end

dlx算法问题，求解答，高分啊

c语言，要写一个将c语言输入转换成mips的程序

<div class="iteye-blog-content-contain" style="font-size: 14px;"> <p>完成一个方法，返回一种排列组合的所有字符串结果的数目。排列组合的规则如下：</p> <p>1）排列组合的的字符串由a~z 26个小写字母组成；</p> <p>2）方法入参为每个字符串长度；</p> <p>3）每个字符串中的后一个字符的字母顺序要大于前一个字符； 例如：abc 合法；bac、aac 不合法；</p> <p>这个问题没有头绪，递归好像不好实现，望大家答疑解惑！</p> </div>

kuangbin简单搜索的b题始终ac不掉，请各位大神看看哪里出错了

android listview添加出现问题

android listview 删除item同时删除对应行数的数据库内容

``` listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?>parent,View view,int position,long id) { Map<String, Object> positioncurrent = list.get(position); comment.setId(Integer.parseInt(String.valueOf(positioncurrent))); int _id = comment.getId(); SQLiteDatabase db = databaseHelper.getWritableDatabase(); db.delete("comment",Comment.Commentinter.EVENT_ID + getString(R.string.dlx_wenhao),new String[]{String.valueOf(id)}); db.close(); list.remove(positioncurrent); adapter.notifyDataSetChanged(); listView.setAdapter(adapter); } }); } ``` 我完全新手，这是我写的监听事件，Comment类里是我数据库表属性的setget方法，逻辑上不知道对不对，只是现在它报错， java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.dengfugui.myapplication.Comment,不让我把positioncurrent进行类型转换，我应该怎么修改？或者基于我的 Map<String, Object>和Comment有没有啥更好的方法？求大神指点！！！！谢谢了！！！

android.database.Cursor错误！

``` public class DLXMainActivity extends AppCompatActivity { DatabaseHelper databaseHelper; MyAdapter adapter; private static Toolbar toolbar; public static EditText dlx_Input1,dlx_Input2; public static String datetime; public static TextView mTitle,mContent,mTime; ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dlx_task3_dlxmain); findViews(); setSupportActionBar(toolbar); databaseHelper = new DatabaseHelper( this, databaseHelper.DATABASE_NAME, null, databaseHelper.DATABASE_VERSION); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map; databaseHelper = new DatabaseHelper(this,DatabaseHelper.DATABASE_NAME,null,1); for(int i=0;i<10;i++) { map = new HashMap<String, Object>(); String title = null,content = null,time = null; while(databaseHelper.Querytitle().moveToNext()){ title = databaseHelper.Querytitle().getString(databaseHelper.Querytitle().getColumnIndex("title")); content = databaseHelper.Querytitle().getString(databaseHelper.Querytitle().getColumnIndex("content")); time = databaseHelper.Querytitle().getString(databaseHelper.Querytitle().getColumnIndex("time")); } map.put("title",String.valueOf(title)); map.put("content", String.valueOf(content)); map.put("time",String.valueOf(time)); list.add(map); } adapter = new MyAdapter(this,list); listView.setAdapter(adapter); } ``` 完全新手！想把数据库里的内容放到页面上，错误Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 8,求大家指点！！！！！

Java校招入职华为，半年后我跑路了

Java基础知识面试题（2020最新版）

@程序员：GitHub这个项目快薅羊毛

loonggg读完需要3分钟速读仅需 1 分钟大家好，我是你们的校长。我之前讲过，这年头，只要肯动脑，肯行动，程序员凭借自己的技术，赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

MySQL数据库面试题（2020最新版）

!大部分程序员只会写3年代码

HTTP与HTTPS的区别

HashMap底层实现原理，红黑树，B+树，B树的结构原理 Spring的AOP和IOC是什么？它们常见的使用场景有哪些？Spring事务，事务的属性，传播行为，数据库隔离级别 Spring和SpringMVC，MyBatis以及SpringBoot的注解分别有哪些？SpringMVC的工作原理，SpringBoot框架的优点，MyBatis框架的优点 SpringCould组件有哪些，他们...

Python爬虫，高清美图我全都要（彼岸桌面壁纸）