- 1
- 0
- 约3.96万字
- 约 189页
- 2025-10-21 发布于香港
- 举报
第4章DSP汇编语言程序设计;1.汇编语言源程序的句法格式;要点;要点;要点;2.汇编语言源程序的数据型式;;4.表达式
1)运算顺序
影响表达式运算顺序的三个主要因素是:圆括号、优先级和同级运算顺序。
圆括号内的表达式最先运算,不能用{}或[]来代替()。
TMS320C54x汇编器的优先级使用与C语言类似,优先级高的运算先执行。表4-1给出了表达式中可用的运算符及优先级。;表4-1表达式的运算符及优先级;2)表达式的合法性
表达式在使用符号时,汇编器对符号在表达式中的使用具有一些限制,由于符号的属性不同(即定义不同),使表达式存在合法性问题。
符号按属性可分为三种:外部符号、可重定位符号和绝对符号。
;外部符号是那些在一个模块定义而被另一个模块引用的符号。(一般用.global定义)
在汇编和执行阶段,符号值、符号地址不同的是可重定位符号,相同的是绝对符号。
含有乘、除法的表达式中只能使用绝对符号(其值不能改变)。表达式中不能使用未定义的符号。;表4-2表达式符号的合法性;4.1.3TMS320C54x伪指令
TMS320C54x伪指令给程序提供数据、控制汇编过程。具体实现以下任务:
(1)将数据和代码汇编到特定的段。
(2)为未初始化的变量保留存储空间。
(3)控制展开列表的形式。
(4)存储器初始化。
(5)汇编条件块。
(6)定义全局变量。
(7)指定汇编器可以获得宏的特定库。
(8)检查符号调试信息。
;表4-3常用伪指令;1.段定义伪指令
段定义伪指令有以下五个:
●.bss(未初始化段)
●.data(已初始化段)
●.sect(已初始化段)
●.text(已初始化段)
●.usect(未初始化段)
;1)未初始化段
.bss和.usect命令建立未初始化段。
.bss伪指令为未初始化变量在.bss段中预留空间;
.usect伪指令在一个未初始化的自定义段中预留空间。.usect伪指令与.bss类似,但是它可以把预留空间与.bss段分离。
这两条命令的句法如下:
.bss符号,字数
符号.usect“段名”,字数
;2)已初始化段
.text、.data和.sect命令建立已初始化段。这三条命令的句法如下:
.text[段起点]
.data[段起点]
.sect段名”[,段起点];.text后是汇编语言程序的正文。经汇编后,.text后的是可执行程序代码,一般存放于程序存储器区域中。
.data后是已初始化数据,有int和word两种数据形式。由命令文件可以将定义的数据存放于程序或数据存储器中。
.sect建立包含代码和数据的自定义段,常用于定义中断向量表。;2.常数初始化伪指令
(1).bes和.space。汇编器对这些保留的位填0,将位数乘以16来实现保留字。当标号与.space连用时,标号指向保留位的第一个字;当标号与.bes连用时,标号指向保留位的最后一个字。
(2).field。此指令可以把多个域打包成一个字,汇编器不会增加SPC的值,直至填满一个字。
(3).float和.xfloat。这两个指令将32位浮点数存放在当前段的连续字中,高位字先存。.float伪指令能自动按长字(偶地址)边界排列,但.xfloat不能。
;(4).long和.xlong。这两个指令将32位数存放在当前段的连续字中,高位字先存。.long伪指令能自动
您可能关注的文档
最近下载
- 贝纳利BJ250维修手册.pdf VIP
- PasswortD A1 听力原文-德语学习资料.pdf VIP
- 一体化污水处理设备施工工艺.docx VIP
- 自动可调螺杆机组触摸屏说明书_SCC60-TP-V2.05.doc VIP
- 学堂在线 雨课堂 学堂云 如何写好科研论文 章节测试答案.docx VIP
- 人教版八年级数学下册基础知识专项讲练 专题17.20 勾股定理(中考真题专练)(巩固篇)(专项练习).docx VIP
- 教育实习鉴定实习内容.docx VIP
- 《GBT11616-2013-同步带传动节距型号MXL、XXL、XL、L、H、XH和XXH同步带尺寸》.pdf
- 离婚协议书(无子女版).docx VIP
- pluronic系列产品指标.pptx VIP
原创力文档

文档评论(0)