WinMIPS64乘法器模拟(优化溢出提示)

忽略溢出的乘法器其实比较容易实现,只需按照手动运算一步步求解即可。

其大致可以分为4步(其为Copy版):

1. 测试乘数最低位是否为1,是则给乘积加上被乘数,将结果写入乘积寄存器;
2. 被乘数寄存器左移1位;
3. 乘数寄存器右移一位;
4. 判断是否循环了32次,如果是,则结束,否则返回步骤1。


其流程图十分清晰:



然后其优化(溢出提示)即在后面加上对结果的高32位判断即可。

代码实现如下:

          .data
str1:     .asciiz "Please enter two numbers:\n"
str2:     .asciiz "Result:\n"
str3:     .asciiz "GG:result overflow!\n"
CONTROL:  .word32 0x10000
DATA:     .word32 0x10008

          .text
      lwu r21,CONTROL(r0)
      lwu r22,DATA(r0)
    daddi r24,r0,4        ;set string outp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值