汇编语言和C语言混合编程时,它们之间是如何传递参数的?请用具体例子说明


对于参数个数可变的子程序,当参数不超过4个时,可以使用寄存器R0~R3来进行参数传递,当参棚郑数超过4个时,还可以使用数据栈来传递参数. 在参数传递时,将所有参数看做是存放在连续的内存单元中的字数据。然后,依次将各名字数据传送到寄存迅和启器R0,R1,R2,R3; 如果参数多于4个,将剩余的字数据传送亩如到数据栈中,入栈的顺序与参数顺序相反,即最后一个字数据先入栈.
变量本质就是一个内存地址,所以把变量负值到寄存器就可以了,比如这样__asm mov eax, var,如果是函数,跟c函数一样调用,当然,也可以用汇编写一简慧个动态链拦升答接库,笑咐然后用c调用,你可以把c程序逆向一下,就可以看到它们的对应关系了,呵