.align 5 .MACRO .ENDM .word

ARM.align 5就是25次方对齐,也就是4字节对齐

.macro <name> {<arg_1} {,<arg_2>} … {,<arg_N>}
定义一段名为name的宏,arg_xxx为参数。
必须有对应的.endm结尾。

ldr r1, _rWTCON

_rWTCON:
.word 0x15300000

是把地址_rWTCON上的内容放到r1,而地址_rWTCON上的内容是0x15300000。实际上就是把r1设
置为0x15300000

.word
expression就是在当前位置放一个word型的值,这个值就是expression
举例来说,
_rWTCON:
.word 0x15300000
就是在当前地址,即_rWTCON处放一个值0x15300000

_undefined_instruction:
undefined_instruction (PS:这里undefined_instruction可能是一个函数,请看下面的解释!)
不符合汇编的语法?

没有.long/.word
汇编程序就不知道你想在这里放一个多大的数据,
相当于数据类型。
没有数据类型,你怎么定义数据变量?

原文地址:https://www.cnblogs.com/idyllcheung/p/11631564.html