汇编用栈传递参数的一个问题
本帖最后由 avatar10010 于 2014-10-1 23:54 编辑;;;我的问题已写在汇编程序中的注释中了,望高手答疑解惑!!!!!!!!!!{:1_1:}
/**********c程序************/
int Add(int b)
{
int t = b+1;
return t;
}
int main()
{
int a= 0;
int c = Add(a);
}
;;;;;;;;;;;对应的汇编程序;;;;;;;;;;;;;;;;
int Add(int b)
{
push ebp
mov ebp,esp
sub esp,0CCh
push ebx
push esi
push edi
lea edi,
mov ecx,33h
mov eax,0CCCCCCCCh
rep stos dword ptr es:
int t = b+1;
mov eax,dword ptr ;;;这一句不明白啊,此时变量b都还没被赋值呀,或者说是什么时候将0赋给他的?
add eax,1
mov dword ptr ,eax
return t;
mov eax,dword ptr
}
pop edi
pop esi
pop ebx
mov esp,ebp
pop ebp
ret
int main()
{
int a= 0;
mov dword ptr ,0
int c = Add(a);
mov eax,dword ptr
push eax
call Add (011111EFh)
add esp,4
mov dword ptr ,eax
}
......
页:
[1]