




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7 6TMS320C1x/C2x/C2xx/C5x汇编语言工具用户指南P3-4至P3-113.3.汇编器的调用调用汇编器的命令如下:dspa input file object file listing file optiondspa 为调用汇编器的命令。input file 为汇编源文件的名称。如果不提供扩展名,则汇编器默认的扩展名为.asm 。若不提供输入文件名, 则汇编器将提示输入文件名。object file 为汇编器产生的目标文件的名称。如果不提供扩展名, 则汇编器默认的扩展名为.obj。如果不提供目标文件名, 则汇编器将使用与源文件相同的文件名,但扩展名为.obj。listing file 为汇编器产生的供选择的列表文件。如果不提供列表文件名, 则汇编器将不产生列表文件,除非使用i(或大写L)选项,此时汇编器将使用与输入的源文件相同的文件名,若不提供扩展名,则汇编器将使用默认的扩展名.lst。option 选项定义要使用汇编器选项。选项不分大小写,可能出现在命令行中汇编器名称之后的任何地方。在每个选项前面加有短横。不带参数的单字符选项可结合使用,例如,lc等效与lc,带参数的选项如i必须分别指定。a 产生一个绝对地址列表。当使用a时, 汇编器不产生目标文件。a选项与绝对地址列表器结合使用。c 使汇编语言文件中不区分大小写。例如, c将使符号ABC 和abc 等效。如果不使用该选项, 则默认为程序符号区分大小写。d cdname =value 设置符号名的值。等效与在汇编文件的开始处插入name.set value,若value省略,则符号值设置为1。对于更多信息, 参见3.5.1, P3-12 。i 指定汇编器寻找由copy 、include, 或mlib等伪指令命名的文件的目录。i 选项的格式是ipathname 。每次可使用多达10个i选项,每个i选项指定一个路径。对于更多信息,参见3.5.1节,P3-12。l (小写L) 产生列表文件。p 能够将TMS320C2x 代码移植到TMS320C5x 或TMS320C2xx 上(参见3.4.1, P3-6) 。pp 能将TMS320C2x代码移植到TMS320C2xx ,并且定义TMS32025和TMS3202xx的符号。pp选项被用在用TMS32025 和TMS32050 符号编写的代码中,以便这些代码能够被任何处理器汇编。(参见3.4.2节, P3-8) 。q (quiet)压缩旗标和所有过程信息。s 将全局符号放进符号表。当使用s时,定义为标号或汇编时间常数的符号也放进了符号表。v 指定版本。版本告诉汇编器与每个TMS320 器件对应的值。(默认情况下是v25)v10 选择TMS320C1xv16 选择TMS320C16v20 选择TMS320C20v25 选择TMS320C2xv2xx 选择TMS320C2xxv50 选择TMS320C5xw 查出TMS320C5x 代码的流水线冲突。这基本上是一个警告开关。这个选项只有对TMS320C5x有效。更多信息, 参见3.4.3节 。x 产生交叉引用表,并将它附到列表文件的尾部,同时将交叉引用信息加到目标文件,以便交叉引用工具使用。若没有要求列表文件,汇编器仍然产生一个交叉引用表。3.4. TMS320C1x/C2x/C2xx/C5x 处理器的向上兼容性定点处理器TMS320C1x/C2x/C2xx/C5x的源代码是向上兼容的。例如,为TMS320C10 写的源代码利用v25汇编器选项可以为TMS320C25汇编。v选项的详细解释见P3-5 。只要目标处理器的编号大于等于原始的目标处理器,所有的处理器都能向上的处理移植的代码,然而,大多数情况下,向下移植代码会导致未知的定义,对这些代码的汇编可能会失败。这部分将解释怎么使用p 和w 选项来缓和移植。3.4.1移植不一致性(p 选项)TMS320C5x和TMS320C2xx 硬件改进引起一些代码移植的不一致性。有以下三种情况,不支持TMS320C5x ;不支持TMS320C2xx 或可能会间接改变原始算法。 TMS320C5x 和TMS320C2xx 不支持用ARP和AR刷新的条件转移。例如: bgz label, * +, ar6 NORM指令在流水线的第四阶段修改当前辅助寄存器的值,而它可能引起流水线冲突。 TMS320C2x的一系列移植命令对TMS320C5x 或TMS320C2xx是无 效的:RFSM 、SFSM 、RTXM 、STXM, 和FORT。 找到并解决这些移植不一致性,使用汇编器选项p能快速移植代码。p选项可以处理以上的两种情况,并在第三种情况时做标记。用p选项结合合适的版本选项(v50或v2xx)。p选项执行以下动作: 把用ARP更新的条件转移转变成条件转移的延迟MAR-NOP指令序列。例如:TMS320C5xbgz label, *+, ar6转变成 bcndd label, Gmar *+, ar6nop TMS320C2xxbgz label, *+, ar6 转变成 mar *+, ar6BCND gt 在NORM指令后插入两个NOP指令来保护流水线。 把一系列移植控制寄存器指令作为无效的运算码标记,因为汇编器不能直接把这些指令编译成有效的TMS320C5x指令。例子3-1 显示p选项是v50时,如何影响TMS320C25 代码。例子3-1.p 选项和v50 选项对移植代码的作用1 *p 选项用在由ARP更新的分支里2 3 0000 b90a LACK 10 4 0001 7c01 L1 SBRK 1 5 0002 90aa SACL *+,AR2 6 0003 90a0 SACL *+ 7 0004 f304 BGZL1, AR1 ;C5x不支持ARP更新的条件转移0005 001 fl ; * 延迟的分支代替原来的指令 *0006 8b09 MAR ; * 在原来的分支里将ARX更新的分支转变成延迟的MAR指令 *0007 8b00 NOP ; * 因为流水线队列而插入的* 8 9 0008 2080 L2 ADD*10 0009 f100 BBNZ L2,AR1000a 0008 ; *延迟的分支代替原来的指令*000b 8b09 MAR; *在原来的分支里将ARX更新的分支转变成延迟的MAR指令*000c 8b00 NOP; *因为流水线队列插入的*1112 * p 选项用在NORM指令之后的间接寻址1314 000d 8b8a LARP AR215 000e a080 NORM *000f 8b00 NOP; * 为了保护流水线而插入的 * 0010 8b00 NOP; *为了保护流水线而插入的*16 0011 8213 SAR2,x ; 流水线冲突17 0012 8280 SARAR2,* ; 流水线冲突1819 0013 0000 x .word 00hNo Errors, No Warnings把 TM320C2x 代码移植到 TM320C5x 的详细描述,参见 TM320C5x 用户指南。对于TM320C2x 代码移植到TM320C2xx的详细描述,参见TM320C2xx用户指南。(预定在1995第二季内出版).3.4.2将为C2x 或C5x编写的代码移植到C2xx (pp选项)如果存在用 TMS32025 和 TMS32050 符号编写的一个代码本文,那么它们能为任一处理机汇编,则将v 2xx选项和 pp选项结合使用很容易把这一代码移植到 TM320C2 xx 。-pp 选项既定义 TMS32025 和 TMS3202 xx 符号,而且可以解决在 3.4.1节 描述的移植不一致性. 这就允许将例3-2所示的代码直接移植到TM320C2xx,而不加修改。例子3 2 基本的TM320C25 和 TM320C50 汇编结构.if .tms32050 .code specific to C5.endif.if .tms32025 .code specific to !flC2 .endif如果例33中不使用pp选项开关为TMS320C2xx汇编, 为了使汇编能顺利完成,.if .tms32025则必须被改为.if.tms32025 |. tms3202xx。而使用pp选项开关的情况下,因为tms32025 的符号已经被汇编器定义了,所以不必改变代码段。例子3 3 TMS320C25 和TMS320C50 到TMS320C2xx的移植.if .tms32050BD label ; 延迟的分支, 精确到C5.endifINSTR1INSTR2.if .tms32025B label ; C25 没有延迟的分支.endif . .-pp 选项为把现有代码移植到 TM320C2xx 装置提供方便。并且只有在汇编并且使用-v2xx选项时它才起作用。3.4.3TMS320系列处理器的流水线的编程(w 选项)TM320C1 x 和 TM320C2x采用指令流水线工作方式。 除了在中断的情况下,如被分支指令中断,一般情况下,这个流水线基本上是不可见的。关于各个处理机的流水线的信息,请参考对应的TMS320用户指南。TM320C5 x 硬件改进,可能引起流水线冲突,像四级深度的流水线和存储器映射寄存器。-w 汇编选项能警告下列流水线冲突: 警告在延迟序列中的上下文切换警告在延迟序列上下文改变期间指出一个上下文切换。以下指令改变处理器的上下文:TRAPD CALAD BACCD RETIBCNDD CCD RETCD RETEBD CALLD BANZD INTR 警告流水线可能碰到分支地址警告在延迟序列上下文改变期间指出一个NORM指令。这个NORM指令可能会引起流水线冲突。 警告延迟跳转丢失第二个字警告在延迟序列上下文切换的第二个字里指出一个双字指令。第二个字将从分支地址中取出。 警告可能由NORM引起的流水线冲突警告指出用紧跟NORM指令的两个字作为间接寻址。这可能会引起流水线冲突。 警告流水线可能与ARX的值相冲突警告指出使用当前辅助寄存器内容作为存储器地址。这可能引起流水线冲突。笔记: w 不是为所有流水线冲突提出警告必须意识到在为TMS320C5x处理器编程时流水线执行的作用。w并不提供所有流水线冲突的警告,也存在一些汇编器不能检测的特殊情况。例子3-4 显示w 选项在TMS320C25代码中的作用 例子3 4w选项 在移植代码中的作用1 * w 改变语境变化 2 3 0000 8b89 LARP AR1 4 0000 3080 x SUB* 5 6 0002 f388 BCNDD x, eq0003 0001 7 0004 2080 ADD* 8 0005 7980 B Y ; 在延迟序列中的上下文变化0006 0009*警告在延迟序列中的上下文切换 910 0007 2080 ADD*11 0008 2080 ADD*1213 0009 8B00 y NOP141516 * w选项改变由NORM引起的流水线冲突1718 000a 8b8a LARP AR219 000B a080 NORM * ; 在运行阶段NORM指令碰到AR220 000c 820e SAR AR2,exp* 警告可能由NORM引起的流水线冲突LAST ERROR AT 80021 000d0200 LARAR2,0* 警告可能由NORM引起的流水线冲突LAST ERROR AT 202223 000e 0000 exp.WORD OOh2425 * -w 选项开关用流水线冲突的地址作为ARX的值262728
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合肥肥西县桃花初级中学教师招聘考试试题(含答案)
- 法院考试面试题及答案
- 湘西中考试题及答案
- 2025年灌南县教育系统招聘教师考试笔试试题(含答案)
- 校保卫处消防知识培训课件
- 急救技能知识模拟试题库及答案
- 饭店服务与管理试题库含答案
- 医院突发事件应急处理培训考核试题及答案
- 急救药品考试题(含答案)
- 放射医学技术(士、师)考试题库含答案
- 宪法试题简答题及答案
- 房产公司质量管理制度
- 流水走账协议合同
- 博士组合物80问
- 陪玩协议书6篇
- TAGFA 0012-2024 绿色食品 茶叶种植技术规范
- 模块化建筑运输与安装行业跨境出海战略研究报告
- 2025年光伏发电安装合同模板
- 家长外出务工委托亲戚照顾孩子全托合同协议书
- 华为SDBE领先模型:闭环战略管理的全面解析-2024-12-组织管理
- 老年病的特点及诊疗要点
评论
0/150
提交评论