the value of esp was not properly saved

键盘独行侠 2017-09-16 11:22:47
__declspec(naked) HRESULT WINAPI OTest(LPDIRECT3DDEVICE9 m_pDevice, D3DPRIMITIVETYPE type, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount)
{
__asm
{
mov edi, edi
push ebp
mov ebp, esp
mov eax, jmpto
jmp eax
}
}


当我调用这个函数的时候会提示the value of esp was not properly saved .jmpto 这个是指向一个函数的地址,哪位大神可以帮我看看是什么问题吗?
...全文
282 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我用VC++2015测试是可以的,如果有警告最好保持栈框架完整: __asm { mov edi, edi push ebp mov ebp, esp mov eax, jmpto jmp eax leave ret 28 } 虽然实际不起作用。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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