怎样让函数不自动初始化 影响内联汇编

tigerlhp 2010-04-20 05:12:10

void __stdcall Fun()
{
__asm
{
pushad
//-----
popad
}
}

编译后在函数中 pushad 前面还有函数自动生成的
push ebp
mov ebp,esp
等初始化语句,怎样让函数不自动生成这些?他改变了我想要得ESP的值。
...全文
67 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerlhp 2010-04-20
  • 打赏
  • 举报
回复
我是希望在使用__asm{} 得到调用函数前 的 所有寄存器的值
我在 __asm{} 中有可能 使用 jmp 强行跳走,这样寄存器就不平了。
geochway 2010-04-20
  • 打赏
  • 举报
回复
你想干什么,想得到当前函数的返回地址吗?
调用函数后的下一条语句地址就是函数的返回地址,
通用的通过ESP来确定函数返回地址是不太容易的,和编译器有关。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧