数据界说(DataDefinition)伪指令
数据界说伪指令一般用于为特定的数据分配存储单元,一起可完结已分配存储单元的初始化。
—DCD(DCDU)用于分配一片接连的字存储单元并用指定的数据初始化。
3、DCD(或DCDU)
语法格局:
标号DCD(或DCDU)表达式
DCD(或DCDU)伪指令用于分配一片接连的字存储单元并用伪指令中指定的表达式初始化。其间,表达式可认为程序标号或数字表达式。DCD也可用“&”替代。
用DCD分配的字存储单元是字对齐的,而用DCDU分配的字存储单元并不严厉字对齐。
运用示例:
DataTestDCD4,5,6;分配一片接连的字存储单元并初始化。
举例1:
SwiFunction
DCDTASK_SW;0
DCDENTER_CRITICAL;1
DCDEXIT_CRITICAL;2
DCDISRBegin;3
DCDChangeToSYSMode;4
DCDChangeToUSRMode;5
DCD__OSStartHighRdy;6
DCDTaskIsARM;7
DCDTaskIsTHUMB;8
DCDOSISRNeedSwap;9
DCDGetOSFunctionAddr;10
DCDGetUsrFunctionAddr;11
TASK_SW
MRSR3, SPSR;保存使命的CPSR
MOVR2, LR;保存使命的PC
举例2:
句子如下:
FiqStackSpace SPACE FIQ_Stack_Legth
FiqStack DCD FiqStackSpace + FIQ_Stack_Legth
最终一条句子,DCD的后边跟FiqStackSpace + FIQ_Stack_Legth,
DCD后边的FiqStackSpace,表明一串空字符,这好了解
可是再上FIQ_Stack_Legth,就不理解了,WHY?
FiqStackSpace是标号,适当与地址,实际上就是在FiqStackSpace SPACE FIQ_Stack_Legth 这个句子给分配的空间的首地址,FiqStackSpace+ FIQ_Stack_Legth 是这个地址空间的完毕地址,将FiqStack指向这个地址,作为栈的顶部,该栈向下成长,长度FIQ_Stack_Legth
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/258757.html