随笔分类 -  MIPS

摘要:计组大作业有个地方要将整数转为浮点数计算,但网上好像没有什么资料,只好自己写了一个转换函数(如果有转换指令请告知) 主要根据浮点数的存储方式,分别得到符号位、阶码和尾数,然后组合即可。具体见代码。 #将整数转换成浮点数 #这里设置待转整数为$t1 转成浮点数保存在$f1 tran: slt $t0 阅读全文
posted @ 2020-12-11 22:44 yanying 阅读(1069) 评论(0) 推荐(0)
摘要:在无符号乘法基础上改进的有符号乘法。如有错误请指正。(debug弄死我了) init: li $v0 5 #输入被乘数$a0 syscall addu $a0 $v0 $0 li $v0 5 #输入乘数$a1 syscall addu $a1 $v0 $0 li $v1 0 #$v1存储积的高32位 阅读全文
posted @ 2020-11-03 23:50 yanying 阅读(1146) 评论(0) 推荐(0)
摘要:用MIPS实现mltu,积用$v1和$v0存储。具体细节写在注释,如有错误请指正。 init: li $v0 5 #输入被乘数$a0 syscall addu $a0 $v0 $0 li $v0 5 #输入乘数$a1 syscall addu $a1 $v0 $0 li $s0 0 #$s0存储被乘 阅读全文
posted @ 2020-11-02 20:37 yanying 阅读(1177) 评论(1) 推荐(0)
摘要:用MIPS实现divu,被除数$a0,除数$a1,商$v0,余数$v1,具体细节已写在注释。如有错误请指正。 .data error: .ascii "The divisor can't not be zero!" #若除数为0则报错 space: .ascii " " #空格,输出时将商和余数分开 阅读全文
posted @ 2020-11-02 20:35 yanying 阅读(1060) 评论(0) 推荐(0)
摘要:过程大致如下: 在.data段开辟一段空间,然后在.text读取数组的首地址,通过偏移量得到每个单元的地址,用lw和sw加载和存储数据。 具体可以看下面一个例子: Int main () { Int K,Y; Int Z[50]; Y=56; For(k=0;k<50;K++) Z[k]=Y-16* 阅读全文
posted @ 2020-11-01 23:14 yanying 阅读(5483) 评论(0) 推荐(2)