《实验三、基本汇编语言编程实验指导书》由会员分享,可在线阅读,更多相关《实验三、基本汇编语言编程实验指导书(3页珍藏版)》请在金锄头文库上搜索。
1、试验三、基本汇编语言编程试验试验三、基本汇编语言编程试验一、试验目的 1、 学习用汇编语言编写程序; 2、 了解汇编语言与 C 语言程序的区别和在设置上的不同; 3、 了解 TMS320VC5402 汇编语言程序结果和一些简单的汇编语句用法; 4、 学习在 CCS 环境中调试汇编代码。 二、实验设备 计算机、DSP 硬件仿真器、DSP 教学试验箱 三、试验背景知识汇编语言程序除了程序中必须使用汇编语句之外,其编译选项的设置与 C 语言编制的 程序也稍有不同。汇编语言程序在执行时直接从用户制定入口开始,而 C 语言程序在执行 时,先要使用 C 标准库中的初始化程序(入口标号为“_c_init00
2、” ) ,完成设置之后,才转 入用户的主程序 main()运行。 四、实验内容 1、 DSP 源文件的建立; 2、 DSP 程序工程文件的建立; 3、 掌握汇编语言在中的应用; 4、 掌握在 CCS 汇编变量的查看方法。 五、实验步骤 1、 将 DSP 仿真器与计算机连接号; 2、 将 DSP 仿真器的 JTAG 插头与 DSP 试验箱主板上 DSP_JTAG 相连接; 3、 打开试验箱电源。观察 SEED-DTK_Moard 单元的+5V,+3.3V,+15V,-15V 的电 源知识灯以及 SEED-DEC643 的电源指示灯 D1 是否均亮;若有不亮的,请断开电 源,检查电源。4、 运行,
3、设置硬件仿真的环境。5、 运行,按照下列源文件编写 test_asm,下载运行例程,观察各个汇编变量结果。 六、实验报告要求 1、 简述 C 语言程序和汇编程序在设置上的区别。 2、 描述程序实现的功能和原理。 3、 记录各个汇编变量的结果。* * example.asm * *.title “example.asm“ .mmregs STACK .usect “STACK“,10h ; 为堆栈指定空间.bss a,4 ; 为变量分配 9 个字的空间 .bss x,4 .bss y,1 .def start .data table: .word 1,2,3,4 ; 变量初始化 .word 8,
4、6,4,2 .text start:STM #0,SWWSR ; 插入 0 个等待状态STM #STACK + 10h,SP ; 设置堆栈指针 STM #a,AR1 ; AR1 指向 a RPT #7 ; 移动 8 个数据 MVPD table,*AR1+ CALL SUM ; 调用 SUM 子程序 end: B endSUM: ; SUM 子程序STM #a,AR3 ; 取数组 a 的首地址 STM #x,AR4 ; 取数组 x 的首地址 RPTZ A, #3 ; 下一条语句重复执行 4 次 MAC *AR3+,*AR4+,A ; STL A,y ; 结果返回给 y RET .end * *
5、 vectors.asm 源程序复位向量 * *.title“vectors.asm“ .refstart .sect“.vectors“ Bstart; 汇编程序入口 .end.cmd 文件 -estartMEMORY PAGE 0: EPROM:org = 0x4000, len=0x1000 VECS: org = 0x5000, len=0x0080PAGE 1: SPRAM:org = 0x0060, len = 0x0020 DARAM:org = 0x0080, len = 0x0100 SECTIONS .text:EPROMPAGE 0 .data:EPROMPAGE 0 .bss:SPRAMPAGE 1STACK:DARAMPAGE 1 .vectors:VECSPAGE 0