DSP基于CCS数据寻址方式实验.docx

上传人:b****2 文档编号:2258325 上传时间:2022-10-28 格式:DOCX 页数:11 大小:47.69KB
下载 相关 举报
DSP基于CCS数据寻址方式实验.docx_第1页
第1页 / 共11页
DSP基于CCS数据寻址方式实验.docx_第2页
第2页 / 共11页
DSP基于CCS数据寻址方式实验.docx_第3页
第3页 / 共11页
DSP基于CCS数据寻址方式实验.docx_第4页
第4页 / 共11页
DSP基于CCS数据寻址方式实验.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

DSP基于CCS数据寻址方式实验.docx

《DSP基于CCS数据寻址方式实验.docx》由会员分享,可在线阅读,更多相关《DSP基于CCS数据寻址方式实验.docx(11页珍藏版)》请在冰豆网上搜索。

DSP基于CCS数据寻址方式实验.docx

DSP基于CCS数据寻址方式实验

实验一CCS的用法

一、实验目的

1、了解TMS320C54X汇编语言程序的基本格式,以及汇编、链接的基本过程。

2、初步熟悉CCS的用法。

二、实验要求

1、了解CCS菜单命令及产生各个显示窗口的操作

2、操作各种仿真命令

·进入、退出CCS

·选择当前窗口、改变窗口大小

·加载程序

·运行程序(包括单步执行)

·检查修改CPU寄存器

·检查修改存储器单元内容

·用观察窗口检查变量、CPU寄存器或存储单元的内容

三、实验条件

1、硬件DSK板及软件开发平台工具CCS。

2、源程序清单lab1.asm,详见教材3。

2节。

3、链接命令文件lab1。

cmd,详见教材3。

2节.

四、实验内容

1、双击桌面上的CCS2(‘5000)图标,启动CCS集成开发环境。

2、创建一个新的工程:

在Project菜单中选择New项,并输入工程名如lab1,然后单击完成按钮创建新工程.

3、将文件添加入工程中:

从Project菜单中选取AddFilestoProject命令,在弹出的对话框中选择lab1。

asm文件并单击打开按钮;或者在工程lab1.pjt处单击右键,选择菜单命令AddFilestoProject。

采用类似方法将lab1.cmd文件添加入工程。

4、对工程进行汇编、编译、链接:

执行菜单命令Project→RebuildAll,或者在工具栏上单击RebuildAll图标.

5、加载程序:

执行菜单命令File→LoadProgram,在弹出的对话框中选择lab1。

out并单击打开按钮。

6、运行程序:

选择Debug中的Run运行程序或单击工具栏的Run图标、SingleStep图标运行程序。

五、试验程序

lab1:

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

*lab1.asmy=a1*x1+a2*x2+a3*x3+a4*x4*

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

title”lab1.asm”

.mmregs

STACK.usect"STACK",10h;申请16栈区空间

.bssx,4

;创建4个存储单元的x和a,一个存储单元的y

bssa,4

.bssy,1

defstart

.data

table:

.word1,2,3,4;装载数据

.word8,6,4,2

.text;代码段

start:

STM#0,SWWSR

STM#STACK+10h,SP;定义堆栈段

STM#table,AR1;AR1指向table

STM#x,AR2;AR2指向x

STM#7,AR0

LD#0,A

loop:

LD*AR1+,A;move8values

STLA,*AR2+;将AR2内容赋予A

BANZloop,*AR0-;intodatamemory

CALLSUM;callSUMsubrotine

end:

Bend

SUM:

STM#a,AR3;将a赋予AR3

STM#x,AR4;x赋予AR4

RPTZA,#3

MAC*AR3+,*AR4+,A;AR3和AR4依次相加赋予A

STLA,@y

RET

end

六、实验结果

1,启动CCS后配置CCS集成开发环境

2,添加工程文件

3,汇编、编译、链接、并进行加载

4,加载所给出的程序,并运行。

观察内存单元以及CPU寄存器的变化

5,程序执行结果

七、实验体会

经过实验熟悉了CCS软件开发平台的使用方法.对于各个文件(。

asm、.cmd、.obj、。

out)的作用有了一定的了解。

 

实验二数据寻址方式

一、实验目的

1、熟悉TMS320C54X的各种寻址方式。

2、继续练习CCS软件的用法。

二、实验条件

本实验已准备的程序列于表2。

1中

表2。

1数据寻址方式实验程序

序号

实验内容

源程序名

链接文件名

1

立即寻址

Lab2a。

asm

Lab2a。

cmd

2

绝对寻址

Lab2b。

asm

Lab2b.cmd

3

累加器寻址

Lab2c。

asm

Lab2c。

cmd

4

直接寻址

Lab2d.asm

Lab2d.cmd

5

间接寻址

Lab2e。

asm

Lab2e。

cmd

6

存储器映象寻址

Lab2f。

asm

Lab2f.cmd

7

堆栈寻址

Lab2g.asm

Lab2g。

cmd

三、实验步骤

1、双击桌面上的CCS2(’5000)图标,启动CCS集成开发环境.

2、在File菜单中选择Open项,打开并阅读每一种寻址方式实验源程序和链接命令文件。

3、创建新工程并添加文件(包括.asm源文件和.cmd链接命令文件)。

4、汇编、编译、链接生成输出文件并加载程序。

5、用单步方式执行程序,观察程序中各条指令的执行结果。

6、在程序中添加若干条此类寻址方式的指令,并汇编、链接、执行。

四、实验程序

Lab2a:

;********************************

;ImmediateAddressing

;********************************

title”lab2a.asm"

defstart

text

start:

LD#100,A;立即寻址

LD#10h,4,A

RSBXSXM

LD#32769,B:

将32769赋予B

LD#4000h,16,B

hereBhere

end

Lab2b:

;********************************

;AbsoluteAddressing

;********************************

title”lab2b.asm"

defstart

SAMPLE.set0060h

.bssx,10

data

table:

word1;数据装载

.word2

word3

.word4

word5

.text

start:

LD#4AB8h,A

STLA,SAMPLE

STM#0060h,AR2

RPT#4

MVPDtable,*AR2+;将table赋予AR2指向的地址,AR2+1

RPT#4

MVKD#0061h,*AR2+;将0061h指向的内容赋予AR2,并依次加1

LDx,B

LD0061h,A

hereBhere

.end

Lab2c:

;********************************

;AccumulatorAddressing

;********************************

title”lab2c。

asm"

STACK.usect"STACK",10h

.defstart

bssx,10

data

table:

word1234h,5678h,9abch,0def0h

text

start:

STM#STACK+10h,SP

LD#table,A;将table地址赋予A

STM#0060h,AR2

RPT#3

READA*AR2+;读取AR2指向地址内容后AR2内容+1

LD#ADD_1,A

CALAA

hereBhere

ADD_1:

ADD#1,A

RET

.end

Lab2d:

;********************************

;DirectAddressing

;********************************

title"lab2d.asm”

defstart

.bssx,1

.bssy,1

.text

start:

ST#0001,*(0180h);将0001赋予地址0180h

ST#1000,*(01ffh)

ST#500,*(0200h)

LD#3,DP

LD@x,A;DP+x地址的内容赋予A

;LD#4,DP

ADD@y,A

hereBhere

.end

Lab2e:

;****************************************

;IndirectAddressing

;****************************************

.title”lab2d.asm”

.defstart

bssx,10h

start:

ST#1000h,*(0060h)

ST#2000h,*(0061h)

ST#3000h,*(0062h)

ST#4000h,*(0063h)将4000h赋予地址0063h

LD#1000h,A

STM#0060h,AR1

MAR*AR1+

STM#2,AR0

LD*AR1+0,A;将AR1指向地址内容赋予A

LD*AR1,B

hereBhere

.end

Lab2f:

;****************************************

;Memory-MappedRegisterAddressing

;****************************************

.title”lab2f。

asm”

.defstart

mmregs

text

start:

STM#1234h,AR1

STM#5678h,AR2;5678h赋予AR2

STM#2,SWWSR

LDMAR1,A

MVMMAR1,AR3;AR1内容赋予AR3

STLMA,AR2

hereBhere

.end

Lab2g:

;********************************

;StackAddressing

;********************************

.title”lab2g.asm"

defstart

STACK:

usect"STACK",10h

bssx,10h

.text

start:

STM#STACK+10h,SP

ST#1234h,*(x)

ST#5678h,*(x+1)

ST#9abch,*(x+2)

STM#x,AR1

RPT#2

PSHD*AR1+;将AR1指向地址内容压入堆栈

;********************************

RPT#2

POPM*AR1+;将堆栈内容弹出堆栈

hereBhere

.end

五、实验结果

1,立即寻址

2,绝对寻址

将AR2的值逐渐赋予X后,从

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1