64位十进制如何存储在32位地址中?

发布于 2024-11-15 01:30:42 字数 101 浏览 4 评论 0原文

我正在 MIPS 上进行一些编程,它有一堆 32 位寄存器,但我也知道你可以存储 64 位整数,这是如何工作的?整数占用两个寄存器吗?如果是这样,系统如何知道将两个寄存器组合成一长串二进制

I am doing some programming on MIPS which has a bunch of 32 bit registers but I also know that you can store 64 bit integers, how does this work? Does the integer take up two registers? If so how does the system know to combine the two registers into one long string of binary

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小…红帽 2024-11-22 01:30:42

根据Wikipedia,32位MIPS指令集包括“Load Double Word”和“ “存储双字”指令从内存加载/存储一对连续寄存器。

对于实际的算术,看起来您通常必须使用多个指令。

According to Wikipedia, the 32-bit MIPS instruction set includes "Load Double Word" and "Store Double Word" instructions that load/store a pair of consecutive registers from/to memory.

For the actual arithmetic, it looks like you typically have to use multiple instructions.

我为君王 2024-11-22 01:30:42

您需要检查您的平台的文档,因为它可能会有所不同。例如,对于 MIPS 32 位,请检查类似 的内容快速参考(请参阅“C 调用约定”部分)。

不过,要了解更多详细信息,您需要更完整的参考(快速参考没有列出我可以看到的任何 64 位算术指令,因此如果它们不存在,您必须自己实现它们,然后您可以使用自己的约定来存储值)。

You need to check the documentation for your platform, since it may vary. For example, for MIPS 32-bits, check something like this quick reference (see the "C calling convention" part).

For more details, though, you'd need a more complete reference (the quick one doesn't list any 64-bit arithmetic instructions that I could see, so if they don't exist, you'd have to implement them yourself, and then you can use your own convention for how to store the values).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文