1、在源程序中,通过书写宏名来引用宏,而子程序是通过CALL指令来调用;
2、宏调用是通过宏扩展来实现的,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现一次,调用子程序是执行同一程序段,因此,目标程序也得到相应的简化
子程序
优点:模块化,节省内存,可被多次调用,编程效率高。
缺点:额外开销(保存返回地址,计算转向地址,传递参数等)大,增加了执行时间。适用于子功能代码较长、调用比较频繁的情况。
宏调用:
优点:参数传送简单,执行效率高。
缺点:不节省空间,适用于子功能代码较短、传参较多的情况。