Я хотел бы сделать несколько «встроенных» программ на ассемблере в 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, чтобы результат был напечатан с последним оператором printf, следующим за процедурой сборки.
Большое спасибо за вклад!