• MIPS——整数转为浮点数


    计组大作业有个地方要将整数转为浮点数计算,但网上好像没有什么资料,只好自己写了一个转换函数(如果有转换指令请告知)

    主要根据浮点数的存储方式,分别得到符号位、阶码和尾数,然后组合即可。具体见代码。

    #将整数转换成浮点数
    #这里设置待转整数为$t1 转成浮点数保存在$f1
    tran:
        slt $t0 $t1 $0
        sll $t0 $t0 31     #得到符号位
        slt $t2 $t1 $0     
        beq $t2 0 posi
        not $t1 $t1        #如果$t1为负数取反
        addi $t1 $t1 1    
    posi:
        addi $t2 $0 1
        addi $t3 $0 0 
    loop1:
        and $t4 $t2 $t1
        beq $t4 0  pass
        move $t5 $t3
    pass:
        sll $t2 $t2 1
        addi $t3 $t3 1
        bne $t3 31 loop1
        addi $t2 $0 0
        addi $t3 $0 0 
    loop2:
        sll $t2 $t2 1
        addi $t2 $t2 1
        addi $t3 $t3 1
        bne $t3 $t5 loop2
        and $t2 $t2 $t1
        li $t6 23
        sub $t6 $t6 $t5
        move $t3 $0
    loop3:
        sll $t2 $t2 1
        addi $t3 $t3 1
        bne $t3 $t6 loop3
        addu $t0 $t0 $t2     #得到尾数
        add $t5 $t5 127
        sll $t5 $t5 23
        addu $t0 $t0 $t5     #得到阶码 此时$t0已经转成$t1的浮点数表示
        mtc1 $t0 $f1           #用浮点寄存器$f1存储
        jr  $ra
  • 相关阅读:
    读取列表下标
    字典dict详解
    使用mysql的长连接
    oauth授权协议的原理
    安装性能测试工具:sysbench和使用apache的ab
    发送邮件出现问题
    获取用户的真实ip
    清理代码的阅读笔记
    开发中三个经典的原则
    要干大事就不能把面子看得太重
  • 原文地址:https://www.cnblogs.com/yanying7/p/14123245.html
Copyright © 2020-2023  润新知