ARM命令

本文介绍了ARM指令中Stack_Size的定义,以及AREA、SPACE和DCD指令的使用。通过AREA Mystack定义了一个名为Mystack的内存段,Stack_Mem使用SPACE指令分配了Stack_Size大小的栈空间,并指定了栈顶地址__initial_sp。此外,还探讨了__Ventors的初始化和Reset_Handler的定义,以及SPACE与DCD指令的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的内容(即栈顶地址)去初始化标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值