帮忙分析一段汇编代码

hostzhenna hostzhenna 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
	int a;
float b;
double c;
scanf("%d, %d, %d", &a, &b, &c);
00401003 lea eax,[esp+0Ch]
00401007 push eax
00401008 lea ecx,[esp+8]
0040100C push ecx
0040100D lea edx,[esp+8]
00401011 push edx
00401012 push offset string "%d, %d, %d" (4020F4h)
00401017 call dword ptr [__imp__scanf (4020A4h)]
float d = (float)(b + a);
printf("%f", d);
0040101D fild dword ptr [esp+10h] -> st(0) = dword ptr [esp+10h]
00401021 add esp,8
00401024 fadd dword ptr [esp+0Ch] -> st(0) = st(0) + dword ptr [esp+0Ch]
00401028 fstp dword ptr [esp+10h] -> 接下来三行代码,不知道是如何把d压进去的
0040102C fld dword ptr [esp+10h]
00401030 fstp qword ptr [esp]
00401033 push offset string "%f" (402100h)
00401038 call dword ptr [__imp__printf (40209Ch)]
return 0;
0040103E xor eax,eax
请教一下, printf("%f", d);中的d是如何压栈进去的
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
hostzhenna
C语言 70,039 成员 243,237 内容