汇编语言是一种常用的中级编程语言,用于微处理器编程。宏和过程是汇编语言中的两个概念,通过它们可以实现模块化编程。现在让我们来了解一下宏和过程是如何相互区别的。
宏
宏是一组指令,程序员可以通过使用它的名字在程序的任何地方使用它。它主要用于实现模块化编程。因此,在宏的帮助下,同一组指令可以被多次使用。无论在哪里使用宏的标识符,它都会在编译过程中被实际定义的指令所取代,因此不会发生调用和返回。
宏的语法:
%macro macro_name number_of_parameters
<macro body>
%endmacro
程序
程序也像宏一样,但它们用于大的指令集,而宏用于小的指令集。它包含一组执行特定任务的指令。它包含三个主要部分,即识别程序的程序名、包含一系列指令的程序体和表示返回语句的RET语句。与宏不同,程序遵循调用-返回的方法,从而实现真正的模块化。
程序的语法:
procedure_name :
procedure body
….......................
RET
调用程序:
CALL procedure_name
程序执行后,控制权通过RET语句转移到调用程序。
宏和程序的区别:
编号 | MACRO | 程序 |
---|---|---|
1 | 宏定义包含一组指令以支持模块化编程。 | 程序包含一组可以重复调用的指令,可以执行一个特定的任务。 |
2 | 宏用于小的指令集,大多少于10条指令。 | 程序用于大型指令集,大多超过10条指令。 |
3 | 在宏的情况下,对内存的要求很高。 | 如果是程序,对内存的要求就比较低。 |
4 | 宏中不需要CALL和RET指令/语句。 | 在程序中需要CALL和RET指令/语句。 |
5 | 汇编指令MACRO用于定义宏,汇编指令ENDM用于表示主体结束。 | 汇编指令PROC用于定义程序,汇编指令ENDP用于表示主体结束。 |
6 | 宏的执行时间较短,因为它的执行速度比过程快。 | 程序的执行时间较长,因为它的执行速度比宏慢。 |
7 | 宏的机器码被多次创建,因为每次调用宏时都会产生机器码。 | 程序的机器码只创建一次,它只在程序被定义时产生一次。 |
8 | 在宏中,参数是作为调用宏的语句的一部分传递的。 | 在程序中,参数是在寄存器和堆栈的内存位置中传递的。 |
9 | 由于没有调用和返回,所以不存在开销时间。 | 开销时间发生在调用程序和将控制权返回给调用程序的过程中。 |
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:宏程序和程序的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-macro-and-procedure.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。