2012-12-06 51 views
2

我是新来的汇编语言,这个问题出现在我脑海里:哪个更好的解决方案来构造我的代码,宏或过程? 虽然包含在宏中的代码只是复制到所需的部分,并允许执行代码而没有代价高昂的跳转,但它确实会添加必须在程序执行时加载的额外指令。 另外,在过程中,虽然它减少了需要在内存中加载的代码,但它也会增加昂贵的跳转,从一段鳕鱼到另一段鳕鱼。 哪一个更好?宏或程序?汇编语言:宏vs程序

+4

经验法则:用于小块代码的宏,用于大块的程序。 –

+1

与宏或C或其他语言中的函数没有什么不同。与装配无关。 –

回答

2

一般来说,你应该使用程序。程序帮助组织你的代码,可以使它更容易调试并避免重复相同的代码。为较小的任务创建常用语法时可以使用宏,使代码更易于阅读。

当然,如果您真的关心性能,而不关心代码的大小,那么您可以扩展这种通用方法,以支持更多的宏使用。

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

0

通常,程序使您的代码比宏更容易阅读,但请记住有跳转成本。最重要的提示是这个;如果它只有一小块代码(即你只想在代码体内完成一两件事情),那就使用一个宏,因为你使用代码做的事情不值得花费跳转/过程调用。然而,如果你正在编写大量的代码(即你在代码体内做了很多事情),那么在这种情况下跳过的代价非常小。