Я хочу вызвать функцию ASM в коде переменного тока. Как передать параметры в код ASM?
#include <stdio.h>
extern int * asm_mod_array(int *ptr,int size);
int main()
{
int fren[5]={1,2,3,4,5};
/*Call ASM func*/
int a=asm_mod_array(fren,5);
printf(u,a);
return 0;
}
Теперь я хочу использовать эти параметры в моей функции ASM.
;asm_mod_array(int ptr,int size)
global asm_mod_array
asm_mod_array:
push r12
mov rdi, 0
mov rsi, 0
mov r12,0
mov rax,0
sumLoop:
add rax, [rdi+r12]
inc r12
cmp r12, rsi
jl sumLoop
mov [rdx], rax
pop r12
ret
ПРИМЕЧАНИЕ: в коде ASM значение 0 необходимо изменить с помощью параметров, переданных c.