




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 集成开发环境 CCS 应用基础 一、实验目的 1. 通过创建一个简单的应用工程,初步熟悉Code Composer Studio(简称CCS)的集成开发环境(IDE)及其工具的使用。 2. 掌握汇编语言源程序的基本框架和编写方法,了解CCS的工程结构以及编译、汇编、连接、运行和调试的基本过程。 3. 了解ST0、ST1的控制位对计算过程的控制以及计算结果对状态位的影响。二、实验内容 1. 学习使用CCS集成开发环境(IDE)的各种工具。 包括下列内容: (1)编辑、汇编和连接。 (2)查看和修改存储器映像寄存器的内容。 (3)查看和修改ST0、ST1 及PMST 的有关位。 (4)查看和修改程序存储器和数据存储器的内容。 (5)断点操作。 (6)运行程序(单步运行、连续运行和断点运行)。 2. 观察并理解COFF段结构的划分及存储空间的分配。 3. 观察控制位SXM、OVM、C16及FRCT置1或清0对执行结果的影响。 4. 观察标志位TC、C、OVA及OVB的变化情况。三、程序分析 1. 说明3个文件的作用及接口情况,说明各个文件中伪指令的作用。text1.asm文件为实验主程序。 Vectors.asm文件用于处理中断,在本程序中规定了上电复位的跳转地址,并屏蔽其他用不到的中断。 Test1.cmd文件是存储器分配说明文件,主要功能是指定工程中的各段分配到那段存储器中,比如有片内RAM(起始地址,大小)和SDRAM等,为连接器提供段定位信息。EPROM程存空间为从E000h开始的100h个存储单元,SPRAM数据空间为从0060h开始的32个存储单元,VECS程存空间为从FF80h开始的128个存储单元,DARAM数据空间为从0080h开始的256个存储单元。设置的.text段和.data段在0页EEPROM存储空间,.bss段在1页SPRAM存储空间,STACK段在1页DARAM存储空间,Vectors段在0页VECS存储空间。text1.asm中使用了以下伪指令:.title “example.asm” 允许汇编器在每页顶部打印标题.mmregs 将存储映射寄存器送入符号表中.usect “STACK” 为未初始化变量保留存储空间的自定义段STACK.def _c_int00 在当前模块中定义符号_c_int00,使其在其他模块中可使用.text 设置已初始化段.text.end 终止汇编,放置在源程序最后一行 Vectors.asm中使用了以下伪指令:.ref _c_int00 在模块test1.asm中定义的符号_c_int00,在当前模块中可用.sect “vectors” 设置自定义已初始化段vectors.space 124*16 在当前段中保留指定的位,共124位*16bit.end 终止汇编,放置在源程序最后一行 Test1.cmd中使用了以下伪指令:.text 设置已初始化段.text.data 设置已初始化段.data.bss 设置未初始化段.bss2. 分析主程序的结构和功能,对每条指令进行注释,写出执行结果。主程序为顺序结构,功能、注释、结果见下:;*; 实验一 集成开发环境CCS应用基础 ;* .titleexample1.asm ;允许汇编器在每页顶部打印标题example1.asm.mmregs;使能存储器映像寄存器stack.usectSTACK,10h.def _c_int00;-.text_c_int00:stm# stack+10h, SP;设置堆栈指针stm#0x0000, SWWSR;所有存储器未加软件延迟;=stm#0x70,AR2 ;0x70AR2st#0xff80,*AR2 ;0xff800x70h;=;观察控制位SXM的作用;当SXM=0时,进行无符号数的加载rsbxSXM ;SXM=0时,(AR2)Anopld*AR2, A;(A)=(00 0000 FF80);-;当SXM=1时,进行有符号数的加载ssbxSXM ;SXM=1时,(AR2)Anopld*AR2, A;(A)=(FF FFFF FF80);=;=;观察控制位OVM的作用;当OVM=0时,对溢出不进行处理rsbxOVM ;OVM=0时,不处理溢出ld#0x7fff, 16, B ;0x7fff左移16位后送B,(B)=00 7FFF 0000add#0x7fff, 16, B;(B)=(00 FFFE 0000)0x7fff左移16位后加到B;-;当OVM=1时,对溢出进行处理ssbxOVM ;0VM=1时,处理溢出ld#0x7fff, 16, B ;0x7fff左移16位后送B,(B)=00 7FFF 0000add#0x7fff, 16, B;(B)=(00 7FFFF FFFF)0x7fff左移16位后加到B;=;=;观察控制位C16的作用;当C16=0时,进行32位双精度数加法运算ssbxOVM ;当OVM=1时,处理溢出ld#0x0001, 16, A ;(A)=00 0001 0000add#0x7fff, A ;(A)=00 0001 7FFFdstA, *AR2 ;暂存00 0001 7FFFld#0x0001, 16, A ;(A)=00 0001 0000or#0xffff, A ;(A)=00 0001 FFFFrsbxC16nop ;等待流水线dadd*AR2, A, B;(B)=(00 0003 7FFE);-;当C16=1时,进行两个独立的16位数加法运算ssbxC16 ;OVM=1,处理溢出nopdadd*AR2, A, B;(B)=(00 0002 7FFE);=;=;观察控制位FRCT的作用;当FRCT=0时,对乘积不进行移位ld#0x1234, 16, A ;0x1234左移16位后送A,(A)=00 1234 0000rsbxFRCTnopmpya*AR2;(B)=(00 0000 1234)(AR2)=T*0x1234;-;当FRCT=1时,对乘积左移1位ssbxFRCTnopmpya*AR2;(B)=(00 0000 2468);=;=;观察测试位TCbitf*AR2, #0x8000;(TC)=(0) (AR2)与0x8000结合,结果为0nopnop;-bitf*AR2, #0x0001;(TC)=(1) (AR2)与0x0001结合,结果为1nopnop;=;=;观察标志位CssbxSXM ;当SXM=1时,进行有符号数的加载ld#0x7fff, A ;A=00 0000 7FFFld#0x8000, B ;B=FF FFFF 8000maxA;(C)=(0) A=MAX(A,B)=00 0000 7FFFnopnop;-minB;(C)=(1) B=MIN(A,B)=FF FFFF 8000nopnop;=;=;观察标志位OVA, OVBssbxSXM ;当SXM=1时,进行有符号数的加载rsbxOVA ;OVA=0ld#0x7fff, 16, A ;Ox7FFF左移16位送A,A=00 7FFF 0000add#0xffff, A;(OVA)=(0) A=00 7FFE FFFF(计算结果为00 7FFFFFFF)nopnop;-add#0x7fff, 16, A;(OVA)=(1) A=00 7FFF FFFFnopnop;=dead_loop: ;结束循环nopnopnopnopbdead_loop.end;-四、写出本工程的分段和存储器的定位情况。段名已/未初始化段所属PAGE起始地址存储区长度存储区名.text已初始化00xE000256字EPROM.data已初始化00xE000256字EPROM.bss未初始化10x006032字SPRAMSTACK已初始化10x0080256字DARAMVectors已初始化00xFF80128字VECS五、调试说明总结上机调试步骤和调试情况,分析调试中遇到的问题是如何解决的。1、 调试时无法查看编译机器码:重新编译加载.out文件2、 ssbxSXM ;当SXM=1时,进行有符号数的加载rsbxOVA ;OVA=0ld#0x7fff, 16, A ;Ox7FFF左移16位送A,A=00 7FFF 0000add#0xffff, A;(OVA)=(0) A=00 7FFE FFFF 程序段直接结果A为007FFEFFFF,至今未解决六、回答问题: (1)如果没有在工程中添加test1.cmd文件,试问汇编连接后能否产生test1.out文件?能否获得正确的执行结果?答:若为在工程中添加text1.cmd文件,连接器以缺省定位方式定义并输出段,可以产生test1.out文件,但因定义位置错误,不能得出正确结果。 (2)在主程序中存在着许多NOP指令,它们的作用是什么?如果将它们去掉,程序能否正常运行? 答:主程序中的NOP指令是为满足CPU的流水线运行,若去掉,单字单周期指令可正常运行,多字多周期指令会产生流水线冲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025物业管理抵押借款合同
- 2025智慧合同管理系统:效率与合规的典范案例
- 2025培训师聘用合同模板
- 2025劳动合同终止协议范本
- 公司财务知识培训主持词课件
- 揭阳空港消防知识培训课件中心
- 技术岗位面试题及答案攻略
- 2025财产委托代管合同范本
- 新媒体人才招募实战模拟面试题集锦
- 全场景面试经验分享:全球百强面试题目的运用与解答
- 找对英语学习方法的第一本书
- 2.AD830机台板面操作讲解
- 《诺丁山》经典台词
- 职高英语词汇表优质资料
- YY/T 0752-2009电动骨组织手术设备
- GB/T 40080-2021钢管无损检测用于确认无缝和焊接钢管(埋弧焊除外)水压密实性的自动电磁检测方法
- GB/T 2-2001紧固件外螺纹零件的末端
- 路基土石方工程施工方案
- 教育评价学全套ppt课件完整版教学教程
- 手术通知单模板
- 油气藏类型、典型的相图特征和识别实例
评论
0/150
提交评论