汇编中子程序与宏的一些区别和特点
关于子程序与宏最大的区别就是时间与空间的区别
子程序:
一般只能用寄存器传递少量参数,传递大量参数要用地址表或堆栈,较麻烦;
可以定义在代码段外(必须far属性);
如果定义在代码段内必须写在执行主题的后面,否则会被执行一次;段内定义可以简写(标号+ret)。
宏:
可以定义在任何位置;
传递参数非常方便(多样化传递)。
总结:子程序一般用在指令相同,参数不同的地方;而宏可以用在代码类似的地方,灵活性较高。
关于子程序与宏最大的区别就是时间与空间的区别
子程序:
一般只能用寄存器传递少量参数,传递大量参数要用地址表或堆栈,较麻烦;
可以定义在代码段外(必须far属性);
如果定义在代码段内必须写在执行主题的后面,否则会被执行一次;段内定义可以简写(标号+ret)。
宏:
可以定义在任何位置;
传递参数非常方便(多样化传递)。
总结:子程序一般用在指令相同,参数不同的地方;而宏可以用在代码类似的地方,灵活性较高。