| |
(1) DCDU
DCDU用于分配一段字对齐的字内存单元,并将每个字单元的内容初始化为该单元相对于静态基址寄存器R9内容的偏移量。
语法格式
{lable} DCDU expr{,expr}…
其中:{lable}为可选的标号;expr可以为数字表达式或为程序中的标号。内存分配的字节数由expr的个数决定。
使用说明
DCDU伪操作为基于静态基址寄存器R9的偏移量分配内存单元。
示例18 用DCDU伪操作分配内存单元举例
IMPORT sign ;IMPORT伪操作将在后面详细介绍
DCDO sign ;32位的字单元,其值为标号sign基于R9的偏移量
(2) DCFD及DCFDU
DCFD用于为双精度的浮点数分配字对齐的内存单元,并将字单元的内容初始化为双精度浮点数。每个双精度的浮点数占据2个字单元。DCFD与DCFDU的不同之处在于,DCFDU分配的内存单元并不严格字对齐。
语法格式
{lable} DCFD {U}fpliteral{,fpliteral }…
其中:{lable}为可选的;fpliteral为双精度的浮点数。
使用说明
DCFD伪操作分配的内存都是字对齐的,为了保证分配的内存字对齐,DCFD可能在分配的第一个内存单元前插入填补字节。DCFDU分配的内存单元则不需要字对齐。如何将fpliteral转换成内存单元的内部表现形式是由浮点运算单元控制的。
示例19 用DCFD、DCFDU伪操作分配内存单元举例
DCFD 1E308,-4E-100 ;定义双精度浮点数,字对齐
DCFD 10000,-0.1,3,1E26 ;定义双精度浮点数,字不对齐
(3) DCFS及DCFSU
DCFS用于为单精度的浮点数分配字对齐的内存单元,并将各字单元的内容初始化成fpliteral表示的单精度浮点数。每个单精度的浮点数占据1个字单元。DCFS与DCFSU不同之处在于,DCFSU分配的内存单元并不严格字对齐。
语法格式
{lable} DCFS {U} fpliteral{,fpliteral}
其中:{lable}为可选的符号;fpliteral为单精度的浮点数。
使用说明
DCFS伪操作为了保证分配的内存时字对齐的,在分配的第一个内存单元前插入填补字节。DCFSU分配的内存单元则不需要字对齐。
示例20 用DCFS、DCFSU伪操作分配内存单元举例。
DCFS E3,-4E-9 ;定义单精度浮点数,字对齐
DCFSU 1.0,-1,3.1E6 ;定义单精度浮点数,字不对齐
凌阳教育,专注嵌入式人才培养多年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网