【发布时间】:2013-10-08 11:23:57
【问题描述】:
我知道当您在 SPARC CPU(和 MIPS)中读取 %r0 时,总是返回 0,但我想知道为什么?
这背后的设计决策是什么?为什么?
【问题讨论】:
-
g0 或 r0。我认为它是 SPARC 中的 g0!
-
在 MIPS 中是 $0 或 $0
-
它不仅出现在 SPARC 或 MIPS 中,而且在许多 RISC 架构中也很常见,因为零是一个非常常见的值。在 ARMv8 AArch64 模式下,寄存器 x31 也被硬连线到 0
-
@RahulTripathi:SPARC 寄存器(通过指令格式编码)是
r0..r32和%g0是r0。仅在汇编语言/助记符中,它们是“语法拆分”%g0..%g7、%o0..%o7、%l0..%l7和%i0..%i7。如果你在 SPARC 汇编源代码中说%r0,你会得到%g0。 -
@FrankH.:- 明白了。谢谢!!
标签: assembly mips cpu-architecture cpu-registers sparc