printf()函数调用对应的汇编代码如下,res为int变量,请详解各个汇编指令的意思。
发布网友
发布时间:2022-04-23 14:23
我来回答
共1个回答
热心网友
时间:2023-10-18 04:26
000E145A mov esi,esp //esi=esp,保存esp
000E145C mov eax,dword ptr [res] //eax=res的指针
000E145F push eax //压栈eax,传递参数用
000E1460 push 0E5858h //压栈格式化字符串
000E1465 call dword ptr ds:[0E92C0h] //printf的调用
000E146B add esp,8 //2个参数+8,平衡堆栈
000E146E cmp esi,esp //对比esi和esp
000E1470 call __RTC_CheckEsp (0E1136h) //debug版的检查堆栈平衡
热心网友
时间:2023-10-18 04:26
000E145A mov esi,esp //esi=esp,保存esp
000E145C mov eax,dword ptr [res] //eax=res的指针
000E145F push eax //压栈eax,传递参数用
000E1460 push 0E5858h //压栈格式化字符串
000E1465 call dword ptr ds:[0E92C0h] //printf的调用
000E146B add esp,8 //2个参数+8,平衡堆栈
000E146E cmp esi,esp //对比esi和esp
000E1470 call __RTC_CheckEsp (0E1136h) //debug版的检查堆栈平衡