我想在 Sparc 中做一些“内联”汇编编程,我想知道如何通过寄存器传递来做到这一点。
最好用一个小例子来解释我的问题
int main()
{
int a = 5;
int b = 6;
int res;
asm_addition(a,b);
printf("Result: %d\n", res);
return(0);
}
// My assembler addition
.global asm_addition
.align 4
add rs1, rs2, rd
restore
有谁知道我必须使用哪些寄存器才能添加值 a 和 b?最后,我需要为 rd 指定哪个寄存器,以便随后将结果与 assemly 例程之后的最后一个 printf 语句一起打印。
非常感谢您的意见!