Stack_Size EQU 0x00000400
AREA Mystack,NOINIT,READWRITE,ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
__Ventors DCD __initial_sp
DCD Reset_Handler
Stack_Size EQU 0x00000400:
定义了一个常量,下面将用该常量来定义一片内存的大小;
AREA Mystack,NOINIT,READWRITE,ALIGN=3:
定义了一个段,没有申明的话默认为代码段(code),该段名字叫做Mystack,不初始化(NOINIT),可读可写(READWRITE),段里八字节对齐。(2^3=8)
Stack_Mem SPACE Stack_Size
__initial_sp
开辟了一段内存空间,大小为Stack_Size,__initial_sp紧挨着SPACE语句放置,表示栈空间的结束地址,即栈顶地址。
__Ventors DCD __initial_sp
DCD伪指令的[语法格式]:标号 DCD 表达式
该段代码意思为用__initial_sp的内容(即栈顶地址)去初始化标