Assembly 汇编中的宏与过程

Assembly 汇编中的宏与过程,assembly,macros,Assembly,Macros,我现在正在学习如何在汇编语言中使用宏。 我知道宏比过程快,因为没有代价高昂的跳跃,只有复制行 但我不明白为什么宏比过程占用更多内存。宏只在某些条件下占用更多内存: 宏被多次使用 扩展宏占用的内存大于调用过程的代码占用的内存 一旦上述情况属实,(足够大的)宏体将被复制(不止一次),因此它比只生成一次的过程占用更多的内存。对于宏,相同的代码将在内存中的多个位置复制,而不是重复使用相同的过程。它们会占用更多的内存,因为它们会复制行-因此每次使用宏时都会复制代码,从而增加可执行文件的大小。宏会占用更

我现在正在学习如何在汇编语言中使用宏。 我知道宏比过程快,因为没有代价高昂的跳跃,只有复制行


但我不明白为什么宏比过程占用更多内存。

宏只在某些条件下占用更多内存:

  • 宏被多次使用
  • 扩展宏占用的内存大于调用过程的代码占用的内存

一旦上述情况属实,(足够大的)宏体将被复制(不止一次),因此它比只生成一次的过程占用更多的内存。

对于宏,相同的代码将在内存中的多个位置复制,而不是重复使用相同的过程。

它们会占用更多的内存,因为它们会复制行-因此每次使用宏时都会复制代码,从而增加可执行文件的大小。

宏会占用更多内存,因为它会在调用行时复制行,但与procure相比,它只完成了一次编码,过程编码只生成一次,这就是为什么宏比过程快

在什么情况下,宏调用过程所占用的内存比代码少?