云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > DSP实验报告2(精)

DSP实验报告2(精)

  • 62 次阅读
  • 3 次下载
  • 2025/12/2 20:29:37

实验报告2 —— DSP汇编语言编程基础

一. 实验目的 1、了解DSP 的寻址方式;

2、了解DSP 的汇编语言与C 语言混合编程。 二、 实验器材

1、安装有CCS 的PC 机一台; 三、 实验内容

1、建立一个工程;

2、用汇编语言编程实现一个可被C 程序调用的例程。 四、 实验步骤

1、汇编语言和C 语言混合编程:

① 运行CCS , 建立一个工程, 取名exp2a , 并保存到c:\\ti\\myprojects\\xxx\\Experiment2 \\目录下。

② 编辑如下C 文件, 取名exp2a.c 并保存到c:\\ti\\myprojects\\xxx\\Experiment2\\exp2a\\目录。

/* Assembly routine */ extern int sum(int *);

/* define x[] as global array */ int x[2]={0x1234,0x4321};

/* define result s as global variable */ int s;

void main() {

s = sum (x); /* return sum product */ }

③ 编辑如下汇编文件, 取名exp2_sum.asm 并保存到c:\\ti\\myprojects\\xxx\\Experiment2\\ exp2a\\目录。

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * exp2_sum.asm SUM subroutine * called by exp2a.c * Input: Array pointer

* Output: Return sum result in T0

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * .global _sum _sum

mov *AR0+,AC0 ; AC0 = x[1]

add *AR0+,AC0 ; AC0 = x[1]+x[2] mov AC0,T0 ret ; Return T0 .end

④ 编辑如下链接命令文件, 取名link.cmd 并保存到c:\\ti\\myprojects\\xxx\\Experiment2 \\exp2a\\目录。

-c

-stack 0x800 -sysstack 0x200 -m link.map MEMORY {

DARAM: origin = 0x200, len = 0xfe00 SARAM: origin = 0x10000, len = 0x30000 VECT: origin = 0x100, len = 0x100

SDRAM: origin = 0x80000, len = 0x380000 Flash: origin = 0x400000, len = 0x3e0000 CPLD: origin = 0x800000, len = 0x20000 }

SECTIONS {

.vectors: {} > VECT .cinit: {} > SARAM .text: {} > SARAM .stack: {} > SARAM .sysstack {} > SARAM .sysmem: {} > SARAM .cio: {} > SARAM .data: {} > SARAM .bss: {} > SARAM .const: {} > SARAM .gblinit: {} > SARAM frt: {} > SARAM .pinit: {} > SARAM .sysinit: {} > SARAM .far: {} > SARAM .switch: {} > SARAM .MEM$obj: {} > SARAM .sysheap: {} > SARAM }

⑤ 选择Project-Options-Linker-Library 标签,添加实时支持库rts55.lib。 经文件查找,得到多条rts55.lib路径,选其一。 \

⑥ 编译并链接工程,下载exp2a.out,并选择Go-Main 命令。

在File菜单里选择Load Program,在Debug文件夹中选择exp2a.out文件,打开。CCS把程序加载到目标系统DSP上,并打开Disassemble窗口,该窗口显示反汇编指令。 选择Debug Go-Main,程序将从Main函数开始执行。

⑦ 观察并记录CPU 寄存器窗口中AC0、AR0、T0 的值,观察memory 中s和x 的内容,并记录s 的值。

AC0=0000008624;AR0=0085DA;T0=0000

⑧ 重新单步执行C 代码和汇编代码,观察C 编译器产生的汇编代码exp2a.asm,注意汇编程序的返回值是如何被传递到C 调用程序的。

2、寻址方式实验。

① 编辑如下C 文件, 取名为exp2b.c , 并保存到c:\\ti\\myprojects\\xxx\\Experiment2\\目录。

/* --------------------------------------- exp2b.c

Interfacing C with Assembly Langugage and using Different Addressing Modes ------------------------------------------*/ extern void exp2b_1(void); extern void exp2b_2(void);

extern int exp2b_3(int *, int *); extern int exp2b_4(int *, int *); int Ai[8]; int Xi[8];

int result1,result2; void main() {

exp2b_1(); exp2b_2();

result1 = exp2b_3(Ai, Xi); result2 = exp2b_4(Ai, Xi); }

② 编辑如下汇编程序exp2b_1.asm,采用绝对寻址对数组Ai 进行初始化,Ai[8]={1,2,3,4,5,6,7,8}。并保存到c:\\ti\\myprojects\\xxx\\Experiment2\\目录。

* * * * * * * * * * * * * * * * * * * * * * * * * * * * exp2b_1: Absolute Addressing Mode

* * * * * * * * * * * * * * * * * * * * * * * * * * * .def _exp2b_1 .ref _Ai .text

_exp2b_1

; (1) Absolute addressing

mov #1,*(_Ai) ; Absolute addressing mode

mov #2,*(_Ai+1) ; Initialize Ai[8]={1,2,3,4,5,6,7,8} mov #3,*(_Ai+2) mov #4,*(_Ai+3) mov #5,*(_Ai+4) mov #6,*(_Ai+5) mov #7,*(_Ai+6) mov #8,*(_Ai+7) ret .end

③ 编辑如下汇编程序exp2b_2.asm,采用间接寻址对数组X 进行初始化,Ai[8]={9,3,2,0,1,9,7,1}。并保存到c:\\ti\\myprojects\\xxx\\Experiment2\\目录。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * exp2b_2: Direct Addressing Mode

* * * * * * * * * * * * * * * * * * * * * * * * * * *

搜索更多关于: DSP实验报告2(精) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验报告2 —— DSP汇编语言编程基础 一. 实验目的 1、了解DSP 的寻址方式; 2、了解DSP 的汇编语言与C 语言混合编程。 二、 实验器材 1、安装有CCS 的PC 机一台; 三、 实验内容 1、建立一个工程; 2、用汇编语言编程实现一个可被C 程序调用的例程。 四、 实验步骤 1、汇编语言和C 语言混合编程: ① 运行CCS , 建立一个工程, 取名exp2a , 并保存到c:\\ti\\myprojects\\xxx\\Experiment2 \\目录下。 ② 编辑如下C 文件, 取名exp2a.c 并保存到c:\\ti\\myprojects\\xxx\\Experiment2\\exp2a\\目录。 /* Assembly routin

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com