当前位置:首页 > 技术心得 > 正文内容

宏与子程序的区别

xjtudll15年前 (2010-02-08)技术心得4450

宏和子程序都是为了简化源程序的编写,提高程序的可维护性,但是它们二者之间存在着以下本质的区别:
1、在源程序中,通过书写宏名来引用宏,而子程序是通过CALL指令来调用;
2、汇编程序对宏通过宏扩展来加入其定义体,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现一次,调用子程序是执行同一程序段,因此,目标程序也得到相应的简化;
3、宏引用时,参数是通过"实参"替换"形参"的方式来实现传递的,参数形式灵活多样,而子程序调用时,参数是通过寄存器、堆栈或约定存储单元进行传递的;
4、宏引用语句扩展后,目标程序中就不再有宏引用语句,运行时,不会有额外的时间开销,而子程序的调用在目标程序中仍存在,子程序的调用和返回均需要时间。

总之,当程序片段不长,速度是关键因素时,可采用宏来简化源程序,但当程序片段较长,存储空间是关键因素时,可采用子程序的方法来简化源程序和目标程序。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/41/

标签: tenxTM87
分享给朋友:

“宏与子程序的区别” 的相关文章

手表晶体管ppm和月差之间的关系

对于手表而言,月差是个比较重要的参数,月差太大,隔段时间手表就不准了,老要调时,对于懒人和完美主义者来说,就太麻烦了。当然,如果你不太在意时间的准确度,就无所谓了。 ppm是英文part per million的缩写,表示百万分之几,在不同的场合与某些物理量组合,常用于表示器件某个直流参数的精度。它...

金蝶K3实际成本各种计算方法的区别及举例

金蝶K3实际成本各种计算方法的区别及举例

http://blog.sina.cn/dpool/blog/s/blog_166bf582c0102wzcl.html 实际成本各种计算方法的区别及举例 K3WISE实际成本包含四种计算方法,分别是品种法、分步法、分批法和分类法。品种法可视同为分步法的一种特殊情形,即没有中间产品,材料一步...

Altium Designer中长方形焊盘的制作

Altium Designer中长方形焊盘的制作

常用的焊盘多为圆形或者正方形。有时候需要制作长方形的,方法如下。 比如下面的一个连接器的封装: 其中的1、2、3脚为长方形,制作方法如下图所示。 放置焊盘后,如下图所示设置:...

对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成

https://www.cnblogs.com/xuqiang/archive/2010/03/07/1953720.html 大家知道,DataSet保存的数据是位于服务器内存里面的原数据库的“副本”。所以用DataSet更新数据的过程就是先对“副本&rdquo...

BOS自定义单据对应模块后台查找

bos数据大量更改新增之后,会出现数据存放位置忘记的情况,下面为单据及单据转换后台查询对应模块的语句,如有需要可参考查询--自定义单据忘记存放在哪个模块可使用以下语句进行查询SELECT it.FID,it.FFunctionID as FSubSysID,it.FNa...

OKI单片机使用注意事项

OKI单片机使用注意事项

1、看门狗 OKI单片机看门狗主要有四大特点: (1) 无法关闭 (2) 若使能了看门狗中断,看门狗中断无法屏蔽 (3) 可以设定看门狗溢出时间:125ms,500ms,2s和8s (4) 看门狗第一次溢出不会导致复位,若不喂狗,第二次溢出将会导致IC复位。 由于看门狗无法屏蔽,即使不想用看门狗,也...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。