汇编中调用C函数的问题
要在一个汇编程序中调用C函数,编译器对汇编中byte类型返回值由寄存器A返回,对C中char类型返回值由寄存器L返回,该如何解决
汇编中调用C函数比较容易。在程序中把调用的C函数的参数按照逆向顺序压入栈中,然后执行CALL funcName 指令即可。记得回来后把你入栈作为参数的内容pop掉。
例如:
extern int funcName(int a, int b, char *c)
pushl �x; // c
pushl �x; // b
pushl �x; // a
call funcName
addl $12, %esp // pop a, pop b, popc
答:先声明,后调出。 若C语言函数名为ABC,汇编的入口符号为_ABC。 例:CALL _ABC ,就调用的了ABC涵数。 至于如何声明,如何传函数参数,就要查编...详情>>
答:的意思是找不到指定的文件,你确定你的文件路径正确吗? 另外,调用的部分你用 n(shcmd)试试详情>>