|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 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,[ebp-0CCh]
mov ecx,33h
mov eax,0CCCCCCCCh
rep stos dword ptr es:[edi]
int t = b+1;
mov eax,dword ptr ;;;这一句不明白啊,此时变量b都还没被赋值呀,或者说是什么时候将0赋给他的?
add eax,1
mov dword ptr [t],eax
return t;
mov eax,dword ptr [t]
}
pop edi
pop esi
pop ebx
mov esp,ebp
pop ebp
ret
int main()
{
int a= 0;
mov dword ptr [a],0
int c = Add(a);
mov eax,dword ptr [a]
push eax
call Add (011111EFh)
add esp,4
mov dword ptr [c],eax
}
......
|
|