- 3
- 0
- 约2.14万字
- 约 110页
- 2017-05-29 发布于四川
- 举报
第4章 TMS320C54x的软件开发 (5) 链接。 生成输出文件example.out和映像文件example.map。 将example.out装入目标系统就可运行了。 系统复位后,PC首先指向0FF80h,这是复位向量地址。在这个地址上,有一条B start指令,程序马上跳转到start语句标号,从程序起始地址0e000h开始执行主程序。 以上所述5步是一个常用的简单引导文件范例。 4.6 汇编语言程序设计 基本程序设计分为3大类: (1) 程序的控制与转移。 (2) 数据块传送程序。 (3) 算术运算类程序。 4.6.1 程序的控制与转移 包括:分支转移 子程序操作(调用与返回程序) 循环控制(重复操作) 这些指令都将影响程序计数器(PC),会造成把一个不是顺序增加的地址加载到PC。表4-3 条件:有一些指令只有当一个条件或多个条件得到满足时才能执行。如条件分支转移或条件调用、条件返回指令。表4-4。 多重条件 :BC pmad, cond[,cond[,cond]],当这条指令的所有条件得到满足时,程序才能转移到pmad。不是所有条件都能构成多重条件,某些条件的组合如表4-5所示。 1. 分支程序 根据条件判断改写PC值,使程序发生分支转移。 两种形式:有条件分支转移和无条件转移。 常用指令: B[D]、BACC[D] ;BC[D]、BANZ[D] 合理地设计延迟转移指令,可以提高程序的效率。应当注意,紧跟在延迟指令后面的两个字,不能是造成PC不连续的指令(如分支转移、调用、返回或软件中断指令)。 【例4.11】 条件分支转移指令BC举例。 BC new, AGT, AOV ; 若累加器A0且溢出,则转至new,否则往下执行 单条指令中的多个条件是“与”的关系。 如果需要两个条件相“或”,只能写成两条指令。如上一条指令改为“若累加器A大于0或溢出,则转移至new”,可以写成如下两条指令 BC new, AGT BC new, AOV 【例4.12】 计算 .bss x, 5 ;为变量分配6个字的存储空间 .bss y, 1 STM #x, AR1 ;AR1指向x STM #4, AR2 ;设AR2初值为4 LD #0, A loop: ADD *AR1+, A BANZ loop, *AR2- ;当AR2不为0时转移,AR2-1→AR2 STL A, @y 本例中用AR2作为循环计数器,设初值为4,共执行5次加法。也就是说,应当用迭代次数减1后加载循环计数器。 2. 调用与返回程序 当调用子程序或函数时,DSP就会中断原先的程序,转移到程序存储器的其他地址继续运行。调用时,下条指令的地址被压入堆栈,以便返回时将这个地址弹出至PC,使中断的程序继续执行。 两种形式: 无条件调用与返回,有条件调用与返回。 常用指令: CALL[D]、CALA[D]、RET[D]、CC[D]、RC[D] 例如(堆栈设置后) CALL pmad ;(SP)-1→SP,(PC)+2→TOS, pmad→PC RET ;(TOS)→PC, (SP)+1→SP 堆栈: 16位堆栈指针(SP)寻址的软件堆栈。 堆栈是一个特殊的存储区域,遵循先进后出的原则,当向堆栈中压入数据时,堆栈从高地址向低地址增长,堆栈指针SP始终指向栈顶。 堆栈用法: 压入操作:SP先减1,然后再将数据压入栈顶。 弹出操作:数据弹出后,再将SP加1。 堆栈设置: size .set 100 stack .usect “STK”, size ;自定义一个名为STK的保留空间,共100个单元 STM #stack+size, SP ;将这个保留空间的高地址(#stack+size)赋给SP, 作为栈底
您可能关注的文档
- 第3讲公共政策系统.ppt
- 第3讲常量、变量与标志符整型、实型、字符型数据.ppt
- 第3讲文字、段落、列表及图片标记2.ppt
- 第3讲电压电流约束关系.ppt
- 第3讲简单VB程序设计1.ppt
- 第3讲类对象和方法.ppt
- 第3讲语音学:日本语音与日本人文.ppt
- 第3课八国联军侵略华战争(共37张).ppt
- 第3课古代希腊罗马-副本.ppt
- 第3课和平与发展:当今时代的主题.ppt
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
最近下载
- 初中物理尖子生自主招生培优讲义版块20 专题20 信息与能源 (教师版) .pdf VIP
- 机战Z破界篇全攻略(整理自巴士与机战世界).doc VIP
- 2026年春季学期幼儿园园务工作计划.docx VIP
- 初中物理尖子生自主招生培优讲义版块9 压强 专题9-5 薄片脱落问题 (学生版) .pdf VIP
- 初中物理尖子生自主招生培优讲义版块10 浮力 专题10-4 多状态计算 (学生版) .pdf VIP
- 因子选股系列分析报告:基本面因子的重构.pdf
- 可膨胀型阴茎假体植入术的并发症预防与处理.ppt VIP
- 共同的纽约OneNYC-2050-舒适的环境英文版.pdf VIP
- 初中物理尖子生自主招生培优讲义版块12 简单机械 专题12-4 简单机械实验 (学生版) .pdf VIP
- 人教版2026-2027学年八年级历史下册教学计划(及进度表).docx
原创力文档

文档评论(0)