汇编语言:宏与过程

Cat*_*ile 6 macros assembly procedures

我是汇编语言的新手,我想到了这个问题:哪个是构建我的代码、宏或过程的更好的解决方案?虽然包含在宏中的代码只是被复制到所需的部分,并且允许在没有代价高昂的跳转的情况下执行代码,但它确实添加了必须在程序执行时加载的额外指令。此外,在过程中,虽然它减少了需要加载到内存中的代码,但它也增加了昂贵的跳转,从一段代码到另一段代码。哪一个更好?宏还是程序?

Jon*_*ood 6

通常,您应该使用过程。过程有助于组织您的代码,可以使调试更容易并避免重复相同的代码。在为较小的任务创建通用语法时可以使用宏,使您的代码更易于阅读。

当然,在您真正关心性能而不关心代码大小的情况下,您可能会扩展这种通用方法以支持更多的宏使用。

最后,您必须查看每个特定案例。但我可以告诉你,在过度使用宏之前,我已经继承了代码。它不仅复制了更多代码,而且找出源代码需要很长时间,因为我必须追踪所有这些宏定义并弄清楚它们实际在做什么。