汇编语言中怎么调用函数?

[复制链接]
3573|3
 楼主| 堕落的青春 发表于 2008-3-25 08:37 | 显示全部楼层 |阅读模式
 汇编语言中怎么调用函数?

请问各位高手:

在汇编语言中怎么实现通过调用函数附不同的值得到不同的结果?

比如说做乘法,程序编好后可以在DATA REGISTER中给不同的值就能直接输出结果?
 
Etual 发表于 2008-3-25 11:29 | 显示全部楼层

想想C编译器是怎么做就知道了

汇编用的办法本质上跟C没啥区别的.
1, 你可以用全局变量来传递参数
这个最简单了,先将参数放到指定的寄存器,然后直接CALL子程序就OK了

2, 你可以通过堆栈来传递参数
先将参数PUSH进去堆栈,然后在子程序里面POP出来用就可以了,不过千万注意PC指针,不要搞乱,否则程序会跑飞

3, 直接传个地址进来,用间接寻址来操作寄存器(也就是所谓的指针传递了) 
这个看情况用就是了,在查表什么的操作方面很方便的

程序的实现没有语言之分, C语言能实现的,汇编同样能实现,只是效率, 和工作量的问题而已,所以建议多学习一下C编译的原理,对写程序很有帮助
 楼主| 堕落的青春 发表于 2008-3-25 12:23 | 显示全部楼层

多谢了

谢谢这位大哥的指教,小弟在此感谢了
mohanwei 发表于 2008-3-25 13:23 | 显示全部楼层

看一下反汇编代码就知道了

您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部