我需要在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