简述宏指令与子程序的区别
宏指令与子程序的共同特点是能够简化源程序,它们的区别是:
①调用过程—子程序是在执行时,由CPU处理的,子程序的目标代码在整个目标程序中只有一段;宏指令是在汇编过程中调用(即宏展开),将宏定义体插入到宏指令调用处。
②产生代码—子程序在汇编时只产生一个子程序代码段;宏指令在汇编时有多少次宏调用就会产生多少个宏代码段。
③执行时—子程序调用必有断点保护,一般还有现场保护,这些是要花费机器时间的;宏指令无此开销。
综上所述,子程序适合于程序段较长、参数不多、需要节省内存空间,但时间性能要求不高的场合;宏指令适用于程序不长,参数较多、时间性能要求较高而且有足够存储空间的场合。