我正在嘗試寫出MIPS二進制代碼,用於與浮點寄存器相關的機器指令。但是,雖然我可以找到浮點指令的操作碼,但我找不到哪些數字指向哪些浮點寄存器。如果我想引用$ t1,我的書和Internet可以告訴我使用哪個數字寄存器,但是我找不到有關如何引用$ f1的任何信息。MIPS中的浮點寄存器是哪些數字寄存器?
2
A
回答
3
有32個浮點寄存器:$f0
.. $f31
。但是每個浮點操作都是在單獨的處理單元FPU(浮點單元)中完成的(在早期的MIPS處理器中),所以不能用普通(整型)命令訪問浮點寄存器。用於FPU命令的FPU寄存器和用於CPU命令的CPU寄存器。
有畫面,和透明的描述 http://www.cim.mcgill.ca/~langer/273/12-coprocessors.pdf
所有FPU命令被編碼爲協處理器指令,協處理器1(CP1) 檢查第一和http://www.cs.sunysb.edu/~lw/spim/MIPSinstHex.pdf
字段英尺(5)FS最後頁(5)fd(5)是寄存器代碼(全部是5位寬)。 $ f0將被編碼爲0; $ f31爲31(十進制)或0x1f(十六進制)。對於雙寄存器值(64位雙精度格式),只記錄寄存器對中的第一個寄存器的編號(只允許偶數重新編號:0,2 ..30)。
詳細的操作碼錶在這裏:http://www.math.unipd.it/~sperduti/ARCHITETTURE-1/mips32.pdf(頁A-73)
相關問題
- 1. MIPS中浮點寄存器的數量
- 2. MIPS $ gp寄存器
- 3. MIPS寄存器保存
- 4. MIPS,寄存器,初學者
- 5. MIPS:將寄存器地址複製到另一個寄存器
- 6. 如何在MIPS中將浮點寄存器的值移動到通用寄存器?
- 7. MIPS - 將數值移入寄存器值
- 8. 寄存器操作數在MIPS
- 9. 我如何知道哪些寄存器用於Mips程序
- 10. MIPS編譯器中的寄存器 - 使用哪個?
- 11. MIPS彙編語言 - 臨時寄存器vs保存的寄存器
- 12. 在MIPS中恢復寄存器
- 13. XOR寄存器,寄存器(彙編)
- 14. 解釋GDB寄存器(SSE寄存器)
- 15. 存儲在寄存器中的測試字節mips
- 16. 的寄存器
- 17. 跳轉和鏈接寄存器MIPS
- 18. MIPS系統調用和$ t寄存器
- 19. 我可以將存儲在_m128 SSE寄存器中的浮點數直接移動到正常寄存器嗎?
- 20. 寄存器JS
- 21. 與寄存器
- 22. 寄存器
- 23. 檢查,如果寄存器值是偶數/ MIPS中
- 24. intel 80386在哪裏保存寄存器?
- 25. 緩存或寄存器 - 哪個更快?
- 26. 如何在MIPS中將浮點寄存器設置爲0(或清除其值)。
- 27. 在CPU寄存器中分配寄存器變量的標準?
- 28. 將值存儲在MIPS的HI和LO寄存器中
- 29. MIPS中$零寄存器的用途是什麼?
- 30. 在eax/ecx寄存器中添加32位浮點數?
謝謝!我有「接受」這個答案嗎?我不知道該怎麼做,但我想...... – 2013-02-17 00:31:13
是的,綠色「V」形符號表示答案被接受 – osgx 2013-02-17 06:33:18