Jua*_*blo 11 c assembly nasm osdev
我正试图从ASM中调用一个函数.我知道如何调用它,但我很难找到如何获得此函数的返回值.一个例子如下:
C代码:
int dummy() {
return 5;
}
Run Code Online (Sandbox Code Playgroud)
(N)ASM代码:
dummyFunction:
call dummy
;grab return into eax
inc eax ; eax should be 6 now
ret
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
R..*_*R.. 14
返回值是eax.如果您从asm调用了C函数,则可以从中读取返回值eax.如果您尝试从asm函数返回到C,请将预期的返回值存储在中eax.
对于返回浮点值,long long值或结构,事情变得有点复杂,所以问你是否需要它,而某人(也许是我)会帮助你.