结构推理 简述宏在汇编语言中的作用,以及与子程序之间的相同点和不同点。
【正确答案】宏实际上就是一个自定义指令,它由若干条指令打包而成。当程序中频繁地出现某一系列操作,而且这些操作并不是非常复杂时,可以使用宏来简化程序,使程序的可读性更强。宏和子程序都只用定义一次后,多次调用,使程序的结构明朗、清晰。不同之处主要有6点:
   1)定义和调用的格式不同。
   2)参数的传递方式不同,宏是实参代替了形参,而子程序不会。
   3)汇编后目标程序长度不同,宏会展开加长,而子程序不会。
   4)程序执行流程不同,宏展开后是顺序执行,而子程序的调用即返回要转来转去,有时还需要保护。
   5)适用场合不同,程序段较短或参数较多时较适合用宏,反之适合用子程序。
   6)宏需要汇编的支持,而子程序不需要。
【答案解析】