ARM GNU 汇编宏定义

来源:互联网 发布:unity3d手游开发教程 编辑:程序博客网 时间:2024/05/22 22:43

在阅读u-boot1.1.6源码时遇到关于宏定义的问题,开始不太明白宏定义的具体的规则,现在算是明白过来了吧(^_^)

宏定义的定义格式:

.macro   宏名称   参数(多个之间用“,”隔开,也可以不带参数)

 宏的实体部分

.endm


既然是宏,那么它和c语言里面的宏定义特点是一样的,比如:

宏在调用处的展开,就是用宏定义的实体部分去完全取代宏名称,并且用实际的参数替换宏定义处的形参


宏调用和子程序的调用之间的区别:

宏调用的所有地方,在编译后就已经全部展开,因此在可以直接在该处执行,而子程序还要跑到定义处去调用,这样,在调用次数多的时候,花的时间就多了。也可以这么理解,宏具有独立性,而子程序是共用的。宏有一个明显的缺点,就是宏调用多的代码编译后占内存空间要明显大得多。

关于汇编宏定义就讲这么多了。


0 0