C语言内嵌汇编编程--函数参数传递,返回值

摘要由CSDN通过智能技术生成

本文内容较为基础,适合汇编新手(惭愧,本人就是)学习参考。

内嵌编程:函数体用汇编实现,保存在.asm文件中;在.asm和.c文件中声明;在.c文件中调用,调用方式和普通函数相同。

函数参数传递
    刚开始想用偷懒,默认传入参数较少的函数,参数直接传入cx、dx,从通用寄存器可以直接得到参数值。而不用堆栈中捞(在Efi shell上述方法好像可以,下次试试)。实际上述方法不可行,用debug32查看通用寄存器值,发现参数并未传入>_<。

    所以需要用栈传递参数(以访问intel cpu IO 为例):

    堆栈变化情况,未调用函数前:

    函数参数传入堆栈情况:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值