汇编语言程序设计实验报告_第1页
汇编语言程序设计实验报告_第2页
汇编语言程序设计实验报告_第3页
汇编语言程序设计实验报告_第4页
汇编语言程序设计实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖北师范学院物理与电子科学学院 汇编语言程序设计实验报告 实验名称:DSP实验 班级:1 姓名 学号:实验一 堆栈的使用方法一、实验目的 掌握堆栈的使用方法。 二、实验设备 计算机、DSP 实验箱。三、实验内容 编写程序,观察堆栈的使用情况。四、实验步骤1、用仿真器将计算机与DSP 实验箱连接好,并依次打开实验箱电源、仿真器电源,然后运行CCS 软件。2、新建一个项目:点击ProjectNew,将项目命名为example3,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS 软件不能识别以中文命名的文件夹。3、 新建一个源文件: 点击FileNew

2、Source File 可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(example3),保存类型选择*.ASM(如果源文件是C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM 为保存类型),我们在这里将保存名字命名为example3.asm 。4、 在项目中添加源文件: 在新建了一个源文件以后,要想使用CCS 编译器对该源文件进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击example3.pjt,在弹出的菜单中选择Add Files,然后将刚才建立的example3.asm 文件添加到该项目中去。5、

3、 编写源程序: 在工程管理器中双击example3.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容:.title "example3.asm".mmregssize .set 100stack .usect "STK",size ;堆栈的设置.bss length,10H.def _c_int00;start.text_c_int00: B start;start: STM #0,SWWSR ;插入0 个等待状态STM #stack+size,SP ;设置堆栈的指针LD #-8531,ASTM #size,AR1MVMM SP,AR7loo

4、p: STL A,*AR7-BANZ loop,*AR1-.end6、 编写链接配置文件: 只有汇编源程序是不够的,一个完整的DSP 程序至少包含三个部分:主程序、中断向量表、链接配置文件(*.cmd)。这里先介绍一下链接配置文件。链接配置文件有很多功能,这里先介绍最常用的也是必须的两条:1.存贮器的分配 2.标明程序入口。由于每个程序都需要一个链接配置文件,每个程序的链接配置文件根据实际情况的需要都略有不同,下面就为本实验的程序编写一个链接配置文件,其它实验的链接配置文件都可以参考与本书配套的相应例程来完成:/*example3.cmd */vectors.obj /*中断向量的目标文件*/

5、Example3.obj /*产生目标文件*/-o example3.out /*产生可执行下载文件,文件名可以根据不同项目而定*/-m example3.map /*产生存储器映射文件,文件名可以根据不同项目而定 */MEMORY PAGE 0: /*定义程序存贮区*/ EPROG: origin = 0x4000, len = 0x3f80 VECT: origin = 0x7f80, len = 0x80 PAGE 1: /*定义数据存贮区*/SYSREGS: origin = 0x00, len = 0x60 BIOSREGS: origin = 0x60, len = 0x20 ID

6、ATA: origin = 0x80, len = 0x3f00 EDATA: origin = 0x8000, len = 0x8000SECTIONS .text :> EPROG PAGE 0 /*将.text 段映射到PAGE0 的EPROM 区*/.data :> EPROG PAGE 0 /*将.data 段映射到PAGE0 的EPROM 区*/.vectors: > VECT PAGE 0/*将中断向量表定位到PAGE0 的VECS 区*/ .bss: > IDATA PAGE 1 /*将.bss 段映射到PAGE1 的IDATA 区*/ STACK: &

7、gt; IDATA PAGE 1 /*将.stack 段映射到PAGE1 的IDATA 区*/7、编写中断向量表文件 ;/* vectors.asm */.title "vectors.asm" ;/*中断向量表的文件名*/.ref _c_int00;start /*引用外部定义的标号*/.sect ".vectors" ;/*定义初始化的段名*/B _c_int00; start /*引用start*/.end8、 对项目进行编译和链接: 把 example3.asm、vectors.asm、example3.cmd 依次添加到项目后,点击Projec

8、tCompileFile,在项目编译成功之后点击ProjectBuild 选项对该项目进行链接,生成*.out 文件。9、 装载可执行文件: 要让程序代码在 DSP 内部运行必需将生成的*.OUT 文件装载到DSP 内部,装载方法是点击:FileLoad Programe 再选择生成的example3.out 文件就可以将程序装载到DSP 的内部存储器中。10、运行程序并查看结果: a)首先打开欲查看的数据空间:点击ViewMemory,弹出“Memory Window Options”对话框,把欲查看的地址改为0x0090,如右图所示。 b)点击OK 按钮,然后点击DebugRun 让程序在

9、DSP内部运行,最后点击DebugHalt,再观察“Memory ”对话框,看是否与下图一致: 4、 实验结果 实验结果截图如下所示: 实验二 加减法和乘法运算一、实验目的 掌握加减法和乘法运算指令。二、实验设备 计算机、DSP 实验箱。3、 实验内容 编写程序,分别实现计算 z=x+y-w、y=mx+b、y=x1×a2+x2×a2、。四、实验步骤1、用仿真器将计算机与DSP 实验箱连接好,并依次打开实验箱电源、仿真器电源,然后运行CCS 软件。2、新建一个项目:点击ProjectNew,将项目命名为example4,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文

10、名,不要将文件夹取名为中文名,因为CCS 软件不能识别以中文命名的文件夹。3、新建一个源文件:点击FileNewSource File 可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(example4),保存类型选择*.ASM(如果源文件是C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM 为保存类型),我们在这里将保存名字命名为example4.asm 。4、 在项目中添加源文件: 在新建了一个源文件以后,要想使用CCS 编译器对该源文件进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击example4.p

11、jt,在弹出的菜单中选择Add Files,然后将刚才建立的example4.asm 文件添加到该项目中去。5、 编写源程序: 在工程管理器中双击example4.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容:* 计算 z=x+y-w *.title "example4.asm".mmregsSTACK .usect "STACK",10H ;堆栈的设置.bss x,1 ;为变量分配4 个字的存储空间.bss y,1.bss w,1.bss z,1.def _c_int00.datatable .word 10,26,23 ;x,y,w.

12、text_c_int00: STM #0,SWWSR ;插入0 个等待状态STM #STACK+10H,SP ;设置堆栈指针STM #x,AR1 ;AR1指向xRPT #2MVPD table,*AR1+ ;把程序存储器中的数据移动到数据存储器CALL SUMBend: B endSUMB: LD *(x),AADD *(y),ASUB *(w),ASTL A,*(z)RET.end6、编写链接配置文件:由于每个程序都需要一个链接配置文件,每个程序的链接配置文件根据实际情况的需要都略有不同,下面就为本实验的程序编写一个链接配置文件,其它实验的链接配置文件都可以参考与本书配套的相应例程来完成:/

13、*example4.cmd */vectors.obj /*中断向量的目标文件*/example4.obj /*产生目标文件*/-o example4.out /*产生可执行下载文件,文件名可以根据不同项目而定*/-m example4map /*产生存储器映射文件,文件名可以根据不同项目而定 */MEMORY PAGE 0: /*定义程序存贮区*/ EPROG: origin = 0x4000, len = 0x3f80 VECT: origin = 0x7f80, len = 0x80 PAGE 1: /*定义数据存贮区*/SYSREGS: origin = 0x00, len = 0x6

14、0 BIOSREGS: origin = 0x60, len = 0x20 IDATA: origin = 0x80, len = 0x3f00 EDATA: origin = 0x8000, len = 0x8000SECTIONS .text :> EPROG PAGE 0 /*将.text 段映射到PAGE0 的EPROM 区*/.data :> EPROG PAGE 0 /*将.data 段映射到PAGE0 的EPROM 区*/.vectors: > VECT PAGE 0/*将中断向量表定位到PAGE0 的VECS 区*/ .bss: > IDATA PAGE

15、 1 /*将.bss 段映射到PAGE1 的IDATA 区*/ STACK: > IDATA PAGE 1 /*将.stack 段映射到PAGE1 的IDATA 区*/7、编写中断向量表文件;/* vectors.asm */.title "vectors.asm" ;/*中断向量表的文件名*/.ref _c_int00;start /*引用外部定义的标号*/.sect ".vectors" ;/*定义初始化的段名*/B _c_int00; start /*引用start*/.end8、 对项目进行编译和链接: 把 example4.asm、vec

16、tors.asm、example4.cmd 依次添加到项目后,点击ProjectCompile File,在项目编译成功之后点击ProjectBuild 选项对该项目进行链接,生成*.out 文件。9、 装载可执行文件: 要让程序代码在DSP 内部运行必需将生成的*.OUT 文件装载到DSP 内部,装载方法是点击:FileLoad Programe 再选择生成的example4.out 文件就可以将程序装载到DSP 的内部存储器中。 10、运行程序并查看结果: a)首先打开欲查看的数据空间:点击ViewMemory,弹出“Memory Window Options”对话框,把欲查看的地址改为0x0080,如下图所示。 b)点击OK 按钮,然后点击DebugRun 让程序在DSP 内部运行,最后点击DebugH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论