我正在尝试在汇编程序中调用 C 函数。这是我的代码:C:
int multiply(int what)
{
return what * 2;
}
ASM:
extern multiply
start:
mov eax, 10
push eax
call multiply
jmp $
;empty
times 510-($-$$) db 0
dw 0xAA55
我正在通过 gcc (MinGW) 将 C 代码编译为 elf,并通过 NASM 将 ASM 代码编译为 elf。我正在编译它没有任何问题,但是当我尝试使用此代码(用于创建 .bin 文件)时:
gcc -o test.bin work.o test.o
我收到此错误:
有人知道如何从 ASM 代码调用 C 函数,编译它并将其链接到工作的 .bin 文件吗?请帮忙。