首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIPS中的浮点寄存器是哪些数字寄存器?

MIPS中的浮点寄存器是哪些数字寄存器?
EN

Stack Overflow用户
提问于 2013-02-16 04:21:33
回答 1查看 5.5K关注 0票数 3

我正在尝试写出与浮点寄存器有关的机器指令的MIPS二进制代码。但是,虽然我可以找到浮点指令的操作码,但我找不到哪些数字指的是哪些浮点寄存器。我的书和互联网可以告诉我,如果我想引用$t1,我会使用哪个号码寄存器,但我找不到任何关于如何引用$f1的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-16 05:14:17

有32个浮点寄存器:$f0..$f31。但是每个浮点操作(在早期的MIPS处理器中)都是在单独的处理单元FPU (浮点单元)中完成的,所以你不能用普通的(整数)命令访问浮点寄存器。FPU寄存器用于FPU命令,CPU寄存器用于CPU命令。

有一个图片和透明的描述http://www.cim.mcgill.ca/~langer/273/12-coprocessors.pdf

对于协处理器1 (CP1)检查http://www.cs.sunysb.edu/~lw/spim/MIPSinstHex.pdf的第一页和最后一页,所有FPU命令都编码为协处理器指令

域ft(5) fs(5) fd(5)是寄存器的代码(都是5位宽)。$f0将编码为0;$f31编码为31 (十进制)或0x1f (十六进制)。对于双寄存器值(64位双格式),仅记录寄存器对中第一个寄存器的数量(仅允许偶数regnumber : 0,2 ..30)。

操作码的详细表格在此处:http://www.math.unipd.it/~sperduti/ARCHITETTURE-1/mips32.pdf (第A-73页)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14902712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档