- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统基础延伸阅读
嵌入式系统基础
数据定义(Data Definition)伪指令
数据定义伪指令一般用于为特定的数据分配存储单元,同时可完成已分配存储单元的初始化。常见的数据定义伪指令有如下几种:
DCB 用于分配一片连续的字节存储单元并用指定的数据初始化。
DCW(DCWU) 用于分配一片连续的半字存储单元并用指定的数据初始化。
DCD(DCDU) 用于分配一片连续的字存储单元并用指定的数据初始化。
DCFD(DCFDU)用于为双精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。
DCFS(DCFSU) 用于为单精度的浮点数分配一片连续的字存储单元并用指定的数据初始化。
DCQ(DCQU) 用于分配一片以8字节为单位的连续的存储单元并用指定的数据初始化。
SPACE 用于分配一片连续的存储单元
MAP 用于定义一个结构化的内存表首地址
FIELD 用于定义一个结构化的内存表的数据域
DCB
语法格式:
标号 DCB 表达式
DCB伪指令用于分配一片连续的字节存储单元并用伪指令中指定的表达式初始化。其中,表达式可以为0~255的数字或字符串。DCB也可用“=”代替。
使用示例:
Str DCB “This is a test!” ;分配一片连续的字节存储单元并初始化。
DCW(或DCWU)
语法格式:
标号 DCW(或DCWU) 表达式
DCW(或DCWU)伪指令用于分配一片连续的半字存储单元并用伪指令中指定的表达式初始化。其中,表达式可以为程序标号或数字表达式。。
用DCW分配的字存储单元是半字对齐的,而用DCWU分配的字存储单元并不严格半字对齐。
使用示例:
DataTest DCW 1,2,3 ;分配一片连续的半字存储单元并初始化。
DCD(或DCDU)
语法格式:
标号 DCD(或DCDU) 表达式
DCD(或DCDU)伪指令用于分配一片连续的字存储单元并用伪指令中指定的表达式初始化。其中,表达式可以为程序标号或数字表达式。DCD也可用“”代替。
用DCD分配的字存储单元是字对齐的,而用DCDU分配的字存储单元并不严格字对齐。
使用示例:
DataTest DCD 4,5,6 ;分配一片连续的字存储单元并初始化。
DCFD(或DCFDU)
语法格式:
标号 DCFD(或DCFDU) 表达式
DCFD(或DCFDU)伪指令用于为双精度的浮点数分配一片连续的字存储单元并用伪指令中指定的表达式初始化。每个双精度的浮点数占据两个字单元。
用DCFD分配的字存储单元是字对齐的,而用DCFDU分配的字存储单元并不严格字对齐。
使用示例:
FDataTest DCFD 2E115,-5E7 ;分配一片连续的字存储单元并初始化为指定的双精度数。
DCFS(或DCFSU)
语法格式:
标号 DCFS(或DCFSU) 表达式
DCFS(或DCFSU)伪指令用于为单精度的浮点数分配一片连续的字存储单元并用伪指令中指定的表达式初始化。每个单精度的浮点数占据一个字单元。
用DCFS分配的字存储单元是字对齐的,而用DCFSU分配的字存储单元并不严格字对齐。
使用示例:
FDataTest DCFS 2E5,-5E-7 ;分配一片连续的字存储单元并初始化为指定的单精度数。
DCQ(或DCQU)
语法格式:
标号 DCQ(或DCQU) 表达式
DCQ(或DCQU)伪指令用于分配一片以8个字节为单位的连续存储区域并用伪指令中指定的表达式初始化。
用DCQ分配的存储单元是字对齐的,而用DCQU分配的存储单元并不严格字对齐。
使用示例:
DataTest DCQ 100 ;分配一片连续的存储单元并初始化为指定的值。
SPACE
语法格式:
标号 SPACE 表达式
SPACE伪指令用于分配一片连续的存储区域并初始化为0。其中,表达式为要分配的字节数。SPACE也可用“%”代替。
使用示例:
DataSpace SPACE 100 ;分配连续100字节的存储单元并初始化为0。
MAP
语法格式:
MAP 表达式{,基址寄存器}
MAP伪指令用于定义一个结构化的内存表的首地址。MAP也可用“^”代替。
表达式可以为程序中的标号或数学表达式,基址寄存器为可选项,当基址寄存器选项不存在时,表达式的值即为内存表的首地址,当该选项存在时,内存表的首地址为表达式的值与基址寄存器的和。
MAP伪指令通常与FIELD伪指令配合使用来定义结构化的内存表。
使用示例:
MAP 0x100,R0 ;定义结构化内存表首地址的值为0x100+R0。
FILED
语法格式:
标号 FIELD 表达式
FIELD伪指令用于定义一个结构化内存表中的数据域。FILED也可用“#”代替。
表达式的值为当前数据域在内存表中所占的字节数。
您可能关注的文档
- 汽车电路系统初级维护 发电机发电量检测 发电机发电量检测电子教案.doc
- 汽车电路系统初级维护 继电器的结构 继电器的结构电子教案.doc
- 汽车电路系统初级维护 免维护蓄电池的检测 免维护蓄电池的检测电子教案.doc
- 汽车电路系统初级维护 总线波形的测量 总线波形的测量电子教案.doc
- 汽车电路系统初级维护 组合式继电器的检测 组合式继电器的检测电子教案.doc
- 汽车电气、电子系统故障诊断与修理(旧) 240 题库 判断题.doc
- 汽车构造与拆装 汽油直接喷射式发动机的性能和特点 汽车构造与拆装任务工单2.4.doc
- 汽车构造与拆装 驱动桥拆装、汽车构造与拆装 汽车构造与拆装任务工单3.5.doc
- 汽车机械基础 学习工作页 任务工单5.3.doc
- 汽车美容与装饰 玻璃清洁、抛光及防雾、防水处理 玻璃清洁、抛光就防雾、防水处理-电子教案.doc
文档评论(0)