编译器是否总是按顺序使用 R0?
问问题
163 次
2 回答
1
您的问题可能需要更多上下文才能清楚您所指的内容,但ARM 过程调用标准定义了符合标准的编译器如何具体使用特定寄存器第 5.1.1 节。
R0 用于保存函数调用的第一个参数,并返回结果值。它也可以任意用作临时寄存器来保存函数调用的临时或中间值。
于 2019-01-31T12:54:36.033 回答
1
float fun ( float a )
{
return(a+1.0F);
}
00000000 <fun>:
0: eddf7a01 vldr s15, [pc, #4] ; c <fun+0xc>
4: ee300a27 vadd.f32 s0, s0, s15
8: e12fff1e bx lr
没有 r0 并不总是在其他任何事情之前使用。
于 2019-01-31T18:34:24.540 回答