ITPub博客

首页 > IT职业 > IT生活 > 计算机组成与设计 读书笔记——第三章

计算机组成与设计 读书笔记——第三章

IT生活 作者:renke 时间:2021-09-09 08:57:18 0 删除 编辑
754标准。

加法

  1. 将较小指数的数向较大指数的数对齐(右移,指数增大)
  2. 有效数字(即尾数)相加
  3. 对结果规格化调整,检查溢出
  4. 对结果进行四舍五入,如果结果不再规格化,则回到3
  5. 结束

乘法

  1. 指数部分相加,减去偏阶值作为新的指数部分
  2. 尾数相乘
  3. 对结果规格化调整,检查溢出
  4. 对结果进行四舍五入,如果结果不再规格化,则回到3
  5. 设置符号位
  6. 结束

MIPS里的浮点运算指令

  • 单精度以.s结尾,双精度以.d结尾,如add.s add.d
  • 单精度比较为c.x.s 双精度比较为c.x.d 其中x可能是eq neq lt le gt ge
  • 浮点比较为真跳转bclt 浮点比较为假跳转bclf

例题:将华氏温度转为摄氏温度

```c++
float f2c (float fahr) {
return ((5.0/9.0) * (fahr - 32.0));
}


```shell
# fahr在$f12中 结果放在$f0中
f2c:
    lwcl  $f16,const5($gp)   # 把5.0存到$f16
    lwcl  $f18,const9($gp)   # 把9.0存到$f18
    div.s $f16,$f16,$f18     # 把5.0/9.0c存到$16
    lwcl  $f18,const32($gp)  # 把32.0存到$f18
    sub.s $f18,$f12,$f18     # $f18 = fahr - 32.0
    mul.s $f0 ,$f16,$f18     # $f0  = (5/9)*(fahr - 32.0)
    jr    $ra                 # return

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/430/viewspace-2807407/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-10-11

  • 博文量
    140
  • 访问量
    17929