Witam mam taki problem:
Mam dwa pliki pierwszy napisany w C:
int add(int i,int j)
{
int p = i + j;
return p;
}
oraz program napisany w Assemblerze:
.globl add
add:
pushl %ebp
movl %esp, %ebp
subl $4, %esp //create space for integer p
movl 8(%ebp),%edx //8(%ebp) refers to i
addl 12(%ebp), %edx //12(%ebp) refers to j
movl %edx, -4(%ebp) //-4(%ebp) refers to p
movl -4(%ebp), %eax //store return value in eax
leave //i.e. to movl %ebp, %esp; popl %ebp ret
Chcę tak zrobić żeby program napisany w assemblerze przekazywał wartości zmiennych z rejestrów do funkcji napisanej w C ale nie wiem jak to skompilować i w którym miejscu umieścić dane na stosie.
Czy ktoś mógłby mi wytłumaczyć ja to zrobić?
Będę wdzięczny!!!