最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

DSP程序题

IT圈 admin 27浏览 0评论

2024年3月22日发(作者:籍今瑶)

DSP程序题

1、已知(80H)=50H,AR2=84H,AR3=86H,AR4=88H。

MVKD 80H,*AR2

MVDD *AR2,*AR3

MVDM 86H, AR4

运行以上程序后,(80H)、(84H)、*AR3和AR4的值分别等于

多少?

解:(80H)=50H,(84H)=50H,*AR3=50H,AR4=50H

2、已知,(80H)=20H、(81H)=30H。

LD #0,DP

LD 80H,16,B

ADD 81H,B

运行以上程序,B等于多少?

答:(B)=00 0000 0000H

3、阅读以下程序,分别写出运行结果。

.bss x,4

.data

table:.word 4,8,16,32

……

STM #x,AR1

RPT #2

MVPD table,*AR1+

①解:数据表table中的常量4传送到以变量x 的地址为地址的存

储单元中;数据表table 中的常量8传送到以变量x+1 的地址为地址

的存储单元中;数据表table中的常量16传送到以变量x+2 的地址为

地址的存储单元中;

.bss x,4

.data

table: .word 4,8,16,32

……

STM #x,AR1

RPT #2

MVPD table,*+AR2

②解:数据表table中的常量4传送到以变量x+1 的地址为地址

的存储单元中;数据表table 中的常量8传送到以变量x+2 的地址为

地址的存储单元中;数据表table中的常量16传送到以变量x+3 的地

址为地址的存储单元中;

4、指令

●ADD #4568H,8,A,B //将4568H左移8位与A相加,赋给B。

●ADD A,-8,B//将A右移8位加上B,保存于B。

●ADD *AR3+,14,A//将AR3左移4加上A→A。

●DST B,*AR1-//B存到长字单元→AR1中,且AR减1。

●LDM AR1,A //存储器映像寄存器寻址方式,将映像寄存器加载

累加器AR1→A的低位,其余位置0。

●LD #10H,4,A//将10H左移4位加载到累加器A中。

●MAC *AR3+,*AR4+,A,B//44+A→B,AR3与AR3都加

1。

●MVKD SAMPLE,*AR5//SAMPLE→AR5中。

●MVDD *AR3+,*AR5+ //数据存储器内部传送数据AR3→AR5,

且指令结束后AR3与AR5

加1。

●MPYA TEMP2//B<=2,T=Temp2。

●PPT #99NOP//重复NOP100次。

●STL A,@quot//将累加器A的低16位字存放在quot的存储单

元中。

●STL B,*AR3+//将累加器的低位移位后加载到AR3所指地址。

●WRITA SMEM //将A的内容写入SMEM中。

●LD #0032H,4,A//立即数0032H先左移4位后,再加载累加器A.

●STM #1000H,*AR2//立即数1000H存储到AR2指向的地址单

2024年3月22日发(作者:籍今瑶)

DSP程序题

1、已知(80H)=50H,AR2=84H,AR3=86H,AR4=88H。

MVKD 80H,*AR2

MVDD *AR2,*AR3

MVDM 86H, AR4

运行以上程序后,(80H)、(84H)、*AR3和AR4的值分别等于

多少?

解:(80H)=50H,(84H)=50H,*AR3=50H,AR4=50H

2、已知,(80H)=20H、(81H)=30H。

LD #0,DP

LD 80H,16,B

ADD 81H,B

运行以上程序,B等于多少?

答:(B)=00 0000 0000H

3、阅读以下程序,分别写出运行结果。

.bss x,4

.data

table:.word 4,8,16,32

……

STM #x,AR1

RPT #2

MVPD table,*AR1+

①解:数据表table中的常量4传送到以变量x 的地址为地址的存

储单元中;数据表table 中的常量8传送到以变量x+1 的地址为地址

的存储单元中;数据表table中的常量16传送到以变量x+2 的地址为

地址的存储单元中;

.bss x,4

.data

table: .word 4,8,16,32

……

STM #x,AR1

RPT #2

MVPD table,*+AR2

②解:数据表table中的常量4传送到以变量x+1 的地址为地址

的存储单元中;数据表table 中的常量8传送到以变量x+2 的地址为

地址的存储单元中;数据表table中的常量16传送到以变量x+3 的地

址为地址的存储单元中;

4、指令

●ADD #4568H,8,A,B //将4568H左移8位与A相加,赋给B。

●ADD A,-8,B//将A右移8位加上B,保存于B。

●ADD *AR3+,14,A//将AR3左移4加上A→A。

●DST B,*AR1-//B存到长字单元→AR1中,且AR减1。

●LDM AR1,A //存储器映像寄存器寻址方式,将映像寄存器加载

累加器AR1→A的低位,其余位置0。

●LD #10H,4,A//将10H左移4位加载到累加器A中。

●MAC *AR3+,*AR4+,A,B//44+A→B,AR3与AR3都加

1。

●MVKD SAMPLE,*AR5//SAMPLE→AR5中。

●MVDD *AR3+,*AR5+ //数据存储器内部传送数据AR3→AR5,

且指令结束后AR3与AR5

加1。

●MPYA TEMP2//B<=2,T=Temp2。

●PPT #99NOP//重复NOP100次。

●STL A,@quot//将累加器A的低16位字存放在quot的存储单

元中。

●STL B,*AR3+//将累加器的低位移位后加载到AR3所指地址。

●WRITA SMEM //将A的内容写入SMEM中。

●LD #0032H,4,A//立即数0032H先左移4位后,再加载累加器A.

●STM #1000H,*AR2//立即数1000H存储到AR2指向的地址单

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论