C调用汇编子程序时参数传递的问题

hanslien 2006-07-06 03:49:55
请问当C调用汇编子程序时, C语言要把下一条语句的地址压入栈中,
那么,压入的是段址和偏移量还是只压入偏移量?在汇编中应该如何获得C传递过来的参数?
...全文
220 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sclarkca810619 2006-07-15
  • 打赏
  • 举报
回复
处理器对于参数的传递时有要求的,入口肯定会传在对应的寄存器,汇编可以直接操作,DSP是这样做的,你可以写个程序,反汇编下,看看参数是怎么穿的,不知道能不能帮上你!
mmxopq 2006-07-07
  • 打赏
  • 举报
回复
自动压入段址和偏移量
在汇编中 可直接调用C传递过来的参数
beanders 2006-07-07
  • 打赏
  • 举报
回复
看你用什么jmp/call 了,如果是段间调用,压入段和偏移
如果是段内,只压入偏移
tb01412 2006-07-06
  • 打赏
  • 举报
回复
跟特定编译器相关,压入的地址是CPU完成的,一条ret语句就自动让CPU弹出地址,好像压入的是四个字节的EIP

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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