我需要在MIPS汇编中实现一些代码,特别是使用定点算法。我错过了什么,或者那里没有这样的事情?如果它不是MIPS的一部分,我如何使用整数实现定点,即add/sub/mul/div?MIPS中的定点算术
0
A
回答
2
要实现定点算法的代码,你只需要在处理器支持整数运算。当然一些处理器可能有一些优化定点代码的指令,但它不是强制性的。
对于任何定点代码,首先需要确定需要表示数字的整数和小数部分的位数,然后使用执行加法,减法,乘法和除法的普通指令执行您的定点操作。
在这篇关于Q format的维基百科文章中,您将找到Q符号的概念以及如何基于这个概念来完成基本的定点操作。本文中的代码示例用C语言编写,但您也可以使用MIPS basic arithmetic instructions。
1
MIPS是32位,你可以安排with
和数字的小数部分如何你想fixed<w,b>
。可以隐式调整二进制点。 add
和sub
使用简单的数学运算,因为mul/div
可以使用指令sll
和srl
。
这是一个很好的解释的链接。
http://www-inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html
相关问题
- 1. 定点算术
- 2. 算术定义
- 3. 在java中的快速性能的定点算术
- 4. MIPS计算器
- 5. MIPS代码来总结一个算术系列
- 6. IndexedDB中的算术运算
- 7. C#中的算术运算
- 8. XSLT中的算术运算
- 9. 浮点算术运算不如预期
- 10. MIPS:如何将用户输入的整数应用到算术函数中?
- 11. MIPS加速计算
- 12. MIPS .DATA浮点
- 13. 解决Javascript的浮点算术问题
- 14. “无效的算术运算符”在bash做浮点运算
- 15. 算术运算
- 16. 算术算法
- 17. 算术运算
- 18. 算术运算
- 19. 算术运算
- 20. 算术计算
- 21. 算术运算
- 22. 我的定点算术实现是否正确?
- 23. SQLite的算术
- 24. Mysql的算术
- 25. 中的R算术的计算成本
- 26. Java中的算术错误
- 27. Verilog中的算术右移
- 28. 模板中的SilverStripe算术
- 29. Tcl中的复数算术?
- 30. Go模板中的算术
@ArekBulski with mul/div。 Mul创建更多的小数位(只是计算数学),所以你可能想在之后向右移动(同时从高位一半移位),div“用尽”小数位,所以你可能想要向左移位(也许进入一个新的高位一半)。但并非总是如此,随时随地可以随意更改格式,而在mul/div对中,格式更改通常会取消。 – harold