在我的mips彙編代碼中,由於結果不能放入一個寄存器,所以我使用多條指令來乘以2個大數字。這意味着該號碼保存在hi和lo特殊寄存器中。我的問題是如何打印乘法的結果。我可以訪問hi和lo並將它們放入其他寄存器(即$ t0,$ t1),但我不知道如何組合這兩個數字以打印結果。謝謝。如何在mips程序集中打印大於32位的數字?
3
A
回答
3
(這個回答刻意保持高水平,因爲我在MIPS彙編敢肯定沒有一個打印數字,除非他們做了家庭作業。)
如果你不介意它在十六進制中,這沒有問題;只需在十六進制中打印一個字,然後在下一個字中打印。不要忘記在第二個單詞中包含前導零! (其實我認爲spim,我猜你正在使用,只能打印10,所以即使這可能會有點麻煩)。
如果你想要它在基地10,這個問題很快進入我稱之爲'痛苦在屁股'的類別。在'現實生活'中,我不會打擾;在C中進行打印,某處的某個編譯器人員會爲您解決所有這些問題。對於作業,請自己寫一個功能,將輸入重複分割10次,最終最終輸出數字。如果mips沒有64位分隔指令(不能告訴你我的頭頂),這對你來說將是一個非常有趣的問題。
-1
打印數字的解決方案實際上是將數字重複除以10,並將剩下的除法和存儲在一個字符串中,然後將其顛倒讀取。但唯一的挑戰是如果mips32只有32位除以64位數。我在這個頁面找到了一個方法:
https://www.codeproject.com/questions/714114/how-to-print-bit-in
相關問題
- 1. 如何在MIPS中乘以兩個大於32位的整數?
- 2. MIPS 3000程序集,加載和打印32位無符號整數
- 3. 在程序集中打印3位數
- 4. MIPS,如何打印所有大於數字10
- 5. 在mips程序集中打印字符串
- 6. 在MIPS彙編中加載大於32位的整數
- 7. 如何在程序集中輸入32位數字?
- 8. MIPS程序集更改整數並在該位置打印出來
- 9. MIPS打印數字隨機
- 10. 如何在ARM程序集中打印數字?
- 11. Mips程序不打印任何東西
- 12. MIPS打印字符
- 13. MIPS 32位隨機整數
- 14. 查找數組中的最大字(MIPS程序集)
- 15. 打印整數mips
- 16. 如何在MIPS中打印字符串數組?
- 17. 學習32位程序集
- 18. 打印MIPS中字的字母
- 19. 64位程序集的32位指令
- 20. 打印機驅動程序開發 - 從32位到64位
- 21. 如何在32位Windows程序集中使用DOS中斷?
- 22. 如何寫一個程序打印整數的位在JS中
- 23. 在MIPS中打印換行
- 24. MIPS如何轉移到32位地址?
- 25. 在程序集中打印單個和未簽名的數字
- 26. 在MIPS中存儲超過32位
- 27. 如何在大指針中打印字節的子集?
- 28. 如何打印小於1但大於0的數字?
- 29. 程序集8086:使用16位寄存器獲取並打印32位文件大小
- 30. DOS調試程序適用於32位x86程序集