期中考试(答案)
战鼓擂-真心英雄伴奏带
…
…
…
…
…
…
…
…
…
…
…
…
…
…
线
:
…
业
…
专
…
级
年
…
…
…
…
…
…
…
…
…
…
:
别
…
系
…
)
题
封
…
答
…
不
…
内
…
线
…
…
封
…
密
…
(
…
…
…
:
号
…
学
…
…
…
…
…
…
密
…
…
:
名
…
姓
…
…
…
…
…
…
…
…
…
…
…
…
…
…
东莞理工学院本科期中试卷
2014 –2015 学年 第 2 学期
《DSP系统设计》试卷
开课单位:电子工程学院
考试形式:开卷
题序 一 二 三 四 五 六 七 八 总 分
得分
评卷人
一、填空题(共20分 每题2分)
1.软件中断都是由指令 INTR K 、 TRAP K
和RESET产生。
2.链接器对段的处理主要通过 MEMORY 和
SECTIONS 两个伪指令完成。
3. OVLY= 0
,则片内RAM只安排到数据存储空间。 DROM= 1
,则部分片
内ROM安排到数据空间。
1的C16= 0
表示ALU工作在双精度算术运算方式。
1的CPL= 1
表示选用堆栈指针(SP)的直接寻址方式。
6.C54x DSP的指令系统有 助记符指令
和 代数指令 两种形式。
目标文件中.text段通常包含 可执行代码
,.data段通常包含己初始化的数
据,.bss段中通常为 未初始化的数据保留空间 。
8.C54x DSP芯片采用了6级流水线的工作方式,即一条指令分为 预取指
、取指、译码
寻址 、读数和执行6个阶段。
9.C54x
DSP中传送执行指令所需的地址需要用到 PAB 、CAB、DAB和 EAB
4条地
址总线。
10. 在C54x
DSP寻址和指令系统中,Dmad为16位立即数,表示 数据存储器地址
,Pmad
为16位立即数,表示 程序存储器地址 。
二、单项选择题
(共10分 每题2分)
1.以下各项哪项不属于DSP芯片的主要特点( )
A.哈佛结构 B.事务型处理器
C.指令系统的流水线操作 D.多总线结构
320C54x的中央处理器由以下哪项组成( )
A.运算部件和控制部件
B.算术逻辑单元和累加器
C.累加器和乘法器 1和STO
3.若使CPL=1,DP=1,SP=0100H,执行直接寻址语句:ADD
@30H,A后,则得到16位的数据存
储器实际地址为( )
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
A.00B0H B.0130H
C.0031H D.0030H
4.以下段定义伪指令中哪个属于未初始化段( )
5.
DSP中C语言设计具有兼容性和可移植的优点, C代码的程序入口地址符号为( )
A._c_int
D._c_int00
答:1( B ) 2( A )
3( B )
三、汇编指令题(每空2分,共30分,)
1.
TRAP 7
指令执行前
PC
1120
INTM
1
PMST
0093
SP
1000
数据存贮器
0FFFh
9653
2. LD
*AR1,A
指令执行前
A
00 0000
0000
SXM
1
AR1
0200
数据存贮器
0200h
FEDC
3. ADD A,
-8, B
指令执行前
A
00 0540
1200
B
00 0000 1800
C
1
4. BITT
*AR7+0
( C ) 5( D )
指令执行后
PC
009C
INTM
1
PMST
0093
SP
0FFF
0FFFh
1121
指令执行后
A
FF FFFF FEDC
SXM
1
AR1
0200
0200h
FEDC
指令执行后
A
00 0540 1200
B
00 0005 5812
C
0
4
…
…
…
…
…
…
…
…
…
…
…
…
…
…
线
:
…
业
…
专
…
级
年
…
…
…
…
…
…
…
…
…
…
:
别
…
系
…
)
题
封
…
答
…
不
…
内
…
线
…
…
封
…
密
…
(
…
…
…
:
号
…
学
…
…
…
…
…
…
密
…
…
:
名
…
姓
…
…
…
…
…
…
…
…
…
…
…
…
…
…
指令执行前
指令执行后
T
D
T
D
TC
0
TC
1
AR0
000A
AR0
000A
AR7
0120
AR7
012A
数据存贮器
0120h
0004
0120h
0004
5. MACAR *AR5+,B
指令执行前 指令执行后
A
00 1234 0000
A
00 1234 0000
B
00 0000 0000
B
00 0000
0000
T
0400
T
0001
FRCT
1
FRCT
1
AR5
0100
AR5
0101
数据存贮器
0100h
0001
0100h
0001
四、简答题(共15分)
1.若辅助寄存器AR0的值为0018H,AR3的值为0412
H,循环缓冲起始地址0400H,BK=32,
(1)请写出缓冲器的尾地址EOB。
(2)分别给出下列寻址方式修改后的辅助寄存器AR3的值:①*AR3+% ②*AR3+0%
③*AR3-0%
④*AR3+0B
答:(1)EOB=0420h
(2)
①AR3=0413H
②AR3=040AH
③AR3=041AH
④AR3=0406H
五、程序题(共25分)
1.阅读下面的程序段,说明每一条语句的功能,以及整个程序段的功能。 (10分)
.bss x, 8 为数组x分配8个存储单元
STM #x, AR1 将目的地首地址赋给AR1
RPTZ A, #7 执行一次下一条指令在循环执行8次并对ACC清0
STL A, *AR1+ 把累加器的低16位存放到数据存储器中
整体功能:整个程序段的功能是对数组进行初始化,使x[8]中所有数据均被初始化为0
2.请看下面一段C程序,
int gvar;
extern int subfun(int x,int y,int m,int n);
int main()
{int x=1,y=2,m=3,n=4
gvar=subfun(x,y,m,n);
retrun 0;
}
试使用汇
编语言实现函数subfun,其功能将所有输入参数求和作为结果值返回。要求使用
块循环指令RPT
B。
(15分)
答: .mmregs
.global _subfun
(2分)
_subfun:POPM AR4 (2分)
STM #2,BRC (3分)
RPTB P1-1
(3分)
POPM AR2 (1分)
LDM AR2,B (1分)
ADD B,A (1分)
P1:PSHM
AR4 (1分)
RET
(1分)