汇编的数据访问.docx

上传人:b****7 文档编号:9598990 上传时间:2023-02-05 格式:DOCX 页数:17 大小:96.86KB
下载 相关 举报
汇编的数据访问.docx_第1页
第1页 / 共17页
汇编的数据访问.docx_第2页
第2页 / 共17页
汇编的数据访问.docx_第3页
第3页 / 共17页
汇编的数据访问.docx_第4页
第4页 / 共17页
汇编的数据访问.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

汇编的数据访问.docx

《汇编的数据访问.docx》由会员分享,可在线阅读,更多相关《汇编的数据访问.docx(17页珍藏版)》请在冰豆网上搜索。

汇编的数据访问.docx

汇编的数据访问

实验报告

 

实验名称汇编的数据访问

课程名称DSP

 

院系部:

电院专业班级:

学生姓名:

学号:

同组人:

实验台号:

指导教师:

成绩:

实验日期:

 

华北电力大学(北京)

实验报告要求:

一、实验目的及要求:

实验目的

1.了解DSP结构;

2.熟悉CCS开发环境;

3.熟悉TDB-C54XplusDSP实验箱的硬件环境;

4.掌握C54Xplus存储区数据访问的方法。

实验要求

在程序区预留2个数据块,每块大小为128字;在数据区预留4个数

据块,每块大小为128字,分别将数据区的数据移动到程序区,将程序区的

数据移动到数据区,将数据区的数据移动到数据区,运行程序,

通过CCS‡View‡CPURegisters,观察各寄存器的值,

通过CCS‡View‡Memory,观察片内程序区和数据区的值,

上述各值应与源程序的结果一致。

 

二、仪器用具:

仪器名称

规格/型号

数量

备注

PC机

1

装有CCS软件

 

三、实验原理(填写程序流程图)

 

四、实验步骤(包括原理图、程序、实验结果与数据处理)

实验结果:

1#程序区地址=0x1f00,初始化为全0

2#程序区地址=0x1f80,初始化为全0

1#数据区地址=0x2000,初始化为0-127

2#数据区地址=0x2080

3#数据区地址=0x2100

4#数据区地址=0x2180

1.将1#数据区的内容写到1#程序区

执行前:

执行后:

2.将1#程序区的内容写到2#数据区

执行前:

执行后:

3.将2#数据区的内容写到2#程序区

执行前:

执行后:

4.将2#程序区的内容写到3#数据区

执行前:

执行后:

5.将3#数据区的内容写到4#数据区

执行前:

执行后:

源程序:

T.set00EH

BRC.set01AH

SWWSR.set028H

CLKMD.set058H

PADD.set1F00H;PROGRAM_MEMORYADDRESS

DADD.set2000H;DATA_MEMORYADDRESS

.def_main

.def_c_int00

.def_DELAY

.text

_c_int00:

RPT#1000H

NOP

LD#40H,DP;设置数据存储器页指针

STM#4000H,SP;设置堆栈指针

ADDM#7FFH,*(SP)

ANDM#0FFFEH,*(SP)

SSBXINTM;禁止中断

STM#07FFFH,SWWSR;置外部等待时间

STM#06004H,CLKMD

LD#0FFFFH,A

CALL_DELAY

STM#087FBH,CLKMD

LD#0FFFFH,A

CALL_DELAY

B_main

_main:

CALLINIT_DATA;;初始化程序区为0,数据区为0-127

NOP

NOP

CALLWRITE_A;;将1#数据区的内容写到1#程序区

NOP

NOP

CALLREAD_A;;将1#程序区的内容写到2#数据区

NOP

NOP

CALLMOVE_DP;;将2#数据区的内容写到2#程序区

NOP

NOP

CALLMOVE_PD;;将2#程序区的内容写到3#数据区

NOP

NOP

CALLMOVE_DD;;将3#数据区的内容写到4#数据区

NOP

NOP

B$

_DELAY:

STLMA,BRC;设置块循环计数器

RPTB_DELAY1-1

NOP

NOP

NOP

NOP

_DELAY1:

RET

INIT_DATA:

STM#PADD,AR2

RPTZA,#03FFH

STLA,*AR2+

NOP

NOP

NOP

LD#0,A

STM#DADD,AR2

STM#127,BRC

RPTB_INIT_DATA1-1

STLA,*AR2+

ADD#1,0,A

NOP

NOP

_INIT_DATA1:

RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;ThisroutineusestheMVDDinstructiontomove

;informationindatamemorytootherdatamemory

;locations.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MOVE_DD:

STM#DADD+100h,AR2;Loadpointertosourceindatamemory.

STM#DADD+180h,AR3;Loadpointerto

;destinationindatamemory.

RPT#127;Move128value.

MVDD*AR2+,*AR3+

RET

;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;ThisroutineusestheMVDPinstructiontomoveexternal

;datamemorytointernalprogrammemory.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;

MOVE_DP:

STM#DADD+80h,AR1;Loadpointertosourceindatamemory.

RPT#127;Move128toprogrammemoryspace.

MVDP*AR1+,#PADD+80H

RET

;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;ThisroutineusestheMVPDinstructiontomoveexternal

;programmemorytointernaldatamemory.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MOVE_PD:

STM#DADD+100h,AR1;Loadpointertodestinationindatamemory.

RPT#127;Move128wordsfromexternal

MVPD#PADD+80h,*AR1+;programtointernaldatamemory.

RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;ThisroutineusestheREADAinstructiontomoveexternal

;programmemorytointernaldatamemory.Thisdiffers

;fromtheMVPDinstructioninthattheaccumulator

;containstheaddressinprogrammemoryfromwhichto

;transfer.Thisallowsforacalculated,ratherthan

;pre-determined,locationinprogrammemorytobe

;specified.READAcanaccesslocationsinprogrammemory

;beyond64Kwordboundary

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

READ_A:

LD#PADD,A

STM#DADD+80h,AR1;Loadpointertodestinationindatamemory.

RPT#127;Move128wordsfromexternal

READA*AR1+;programtointernaldatamemory.

RET

;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;ThisroutineusestheWRITAinstructiontomovedata

;memorytoprogrammemory.Thecallingroutinemust

;containthedestinationprogrammemoryaddressinthe

;accumulator.WRITAcanaccessprogrammemoryaddress

;beyond64Kwordboundary

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

WRITE_A:

LD#PADD,A

STM#DADD,AR1;Loadpointertosourceindatamemory.

RPT#127;Move128wordsfromdata

WRITA*AR1+;memorytoprogrammemory.

RET

.end

 

五、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论,对实验的进一步想法或改进意见。

指导教师签字:

年月日

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

当前位置:首页 > 经管营销 > 公共行政管理

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

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