微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM 的DCD指令

ARM 的DCD指令

时间:11-11 来源:互联网 点击:
DCD(或DCDU)

语法格式:

标号 DCD(或DCDU) 表达式

DCD(或DCDU)伪指令用于分配一片连续的字存储单元并用伪指令中指定的表达式初始化。其中,表达式可以为程序标号或数字表达式。DCD也可用“&”代替。

用DCD分配的字存储单元是字对齐的,而用DCDU分配的字存储单元并不严格字对齐。

使用示例:

DataTest DCD 4,5,6 ;分配一片连续的字存储单元并初始化。

在中断向量表中不直接LDR PC,"异常地址".而是使用一个标号,然后再在后面使用DCD定义这个标号,其原因是:

LDR 指令只能跳到当前PC 4kB 范围内,而B 指令能跳转到32MB 范围,而现在这样在LDR PC, "xxxx"这条指令不远处用"xxxx"DCD 定义一个字,而这

个字里面存放最终异常服务程序的地址,这样可以实现4GB 全范围跳转。

另:有如下语句

USR_STACK_LEGTH EQU 64 ;定义用户模式堆栈长度为64字

StackUsr DCD UsrStackSpace + (USR_STACK_LEGTH-1)*4 ;定义一个字的空间,这个字的内容是一个递减堆栈的首地址

UsrStackSpace SPACE USR_STACK_LEGTH*4 ;为用户模式分配一个64字的堆栈空间,若这个堆栈做递减使用,则其首地址为

UsrStackSpace + (USR_STACK_LEGTH-1)*4

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top