ARM题库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARM题库
一、填空题
1. 常见的ARM处理器内核有 ARM 7 、 ARM 9 和 ARM 11 等。

2. ARM处理器有两种状态,分别是 ARM 状态和 Thumb 状态。

3. 按总线所传送的信息类型,总线分为数据总线、地址总线和控制总线。

4. ADS 是一套用来开发ARM 处理器应用系统的开发工具包,用户可以用ADS 编辑、编译和调试C、C++以及汇编程序。

目前的版本为 ADSv1.2 。

5. 与逻辑运算规则:0 • 0= 0 ;0 • 1= 0 ; 1 • 0= 0 ; 1 • 1= 1
6. 或逻辑运算规则: 0 + 0= 0 ;0 +1= 1 ; 1 + 0= 1 ; 1 + 1= 1
将2进制转换为16进制:(10011100101101001000) B = 。

7.ARM 属于 RISC 架构。

8.ARM 指令集是 32 位宽,Thumb 指令集是 16 位宽。

9.ARM体系结构版本中V___4___版架构是目前应用最广的ARM体系架构,ARM7、___ ARM 9 ___都采用该架构。

10.ARM微处理器共有__37_个__32_ 位寄存器,其中_31___个为通用寄存器,____6__个为状态寄存器。

11.常用的嵌入式操作系统有嵌入室Linux 、 VxWorks 等。

12.ARM嵌入式系统主要由嵌入室硬件、嵌入室软件和开发工具构成。

13.复位后,ARM处理器处于 SVC 工作模式, ARM 状态。

14.S3C2410采用的核心处理器是 ARM920T 。

15.S3C2410 支持两种引导方式,分别是 Nor-Flash 启动方式、 Nand-Flash 启动方式。

16.GPIO的中文全称是通用输入输出端口。

17.ARM处理器有两种状态,分别是 ARM 和 Thumb 。

18.计算机结构分为哈佛体系结构和冯诺依曼体系结构。

19.ARM处理器支持的数据类型中,字节为 8 位、半字为 16 位、字为 32 位。

20.将2进制转换为16进制:(11011010101101101110) B = ( ) H
21.ARM状态下,SP寄存器指的是 R13 、LR寄存器指的是 R14 、PC 寄存器指的是 R15 。

22.一个嵌入式系统由3部分组成,分别是嵌入式硬件、嵌入式软件和开发工具。

二、选择题:
1.相对于ARM指令集,Thumb指令集的特点是___ 。

A、指令执行速度快
B、16位指令集,可以得到密度更高的代码,对于需要严格控制成本的设计非常有意义
C、Thumb模式有自己独立的寄存器
D、16位指令集,代码密度高,加密性能好
2.在ARM寄存器结构中,栈指针使用__B__寄存器。

A、R0
B、R13
C、R14
D、R15
3.在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法?
A、直接修改CPU状态寄存器(CPSR)对应的模式
B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态
C、使用软件中断指令(SWI)
D、让处理器执行未定义指令
4.嵌入式系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取
指令。

例如:对于S3C2410来说,Boot Loader会映射到______地址处。

A 0x0c000000
B 0x00000000
C 0x00000018
D 0x40000018
5.32位体系结构的ARM处理器有____种不同的处理器工作模式,和____个主要用来标识CPU
工作状态和程序运行状态的状态寄存器。

A、7、7
B、7、6
C、6、6
D、6、7
6.CPSR中的低8位称为控制位,下列不属于控制位的是____。

A、N
B、I
C、F
D、T
7.ARM7属于结构,ARM9属于结构。

A、冯.诺依曼
B、哈佛
8.ARM7是级流水线,ARM9是级流水线。

A、1
B、2
C、3
D、5
9.ARM中可以访问状态寄存器的指令是,能够访问内存的指令是。

A、MOV
B、ADD
C、LDR
D、MRS
10.在下列ARM处理器的各种模式中,只有_____模式不可以自由地改变处理器的工作模式。

A、用户模式(User)
B、系统模式(System)
C、终止模式(Abort)
D、中断模式(IRQ)
11.在ARM的汇编程序中,ADR、ADRL、、等被称为伪指令。

A、AREA
B、SETA
C、LDR
D、NOP
12.下列条件码中表示不相等的是。

A、EQ
B、NE
C、CS
D、CC
13.CPSR中的低8位称为控制位,其中I位等于1表示。

A、禁止IRQ中断
B、禁止FIQ中断
C、允许IRQ中断
D、允许FIQ中断
14.ARM微处理器支持7种工作模式。

其中,除之外的其余6种称为特权模式,在这6
种之中,除之外的其余5种又称为异常模式。

A、用户模式
B、管理模式
C、中止模式
D、系统模式
15. ATPCS规定中,栈是。

A、满递增
B、满递减
C、空递增
D、空递减
16. 在用ARM汇编编程是,其寄存器有多个别名,通常PC是指R15,LR 是指,SP是指
A、R12
B、R13
C、R14
D、R15
17.下列条件码中表示无符号数小于的是____。

A、HI
B、LS
C、CS
D、CC
18.下列ARM指令中,可用于满递增堆栈操作的是____。

A、STMDA
B、STMIA
C、STMDB
D、STMIB
19.下列32位数中,不可作为立即数的是____。

A、0x81000007
B、0x04800000
C、0x00000012
D、0x8000007
20.ATPCS规定数据栈是____类型。

A、满递减
B、满递增
C、空递减
D、空递增
21.ARM伪指令中,可用于大范围地址读取的是____。

A、ADR
B、ADRL
C、LDR
D、NOP
22.同CISC相比,下面哪一项不属于RISC处理器的特征。

____
A、采用固定长度的指令格式,指令规整、简单、基本寻址方式有2~3种。

B、减少指令数和寻址方式,使控制部件简化,加快执行速度。

C、数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计。

D、RISC处理器都采用哈佛结构
23.以下叙述中,不符合RISC指令系统特点的是。

A、指令长度固定,指令种类少
B、寻址方式种类丰富,指令功能尽量增强
C、设置大量通用寄存器,访问存储器指令简单
D、选取使用频率较高的一些简单指令
24.下面关于ARM处理器的体系结构描述哪一个是错误的。

____
A、三地址指令格式
B、所有的指令都是多周期执行
C、指令长度固定
D、Load-Store结构
25.在ARM寄存器结构中,栈指针使用____寄存器,
A、R0
B、R13
C、R14
D、R15
三、问答题:
1.ARM7TDMI采用了几级流水线工作方式,简要说明。

答:三级
2.ARM9采用了几级流水线工作方式,简要说明。

答:五级流水线工作方式,1.取指2.指令译码3.执行4.数据存储访问5.写寄存器
3.分别画出采用大端格式及小端格式存放01020304H的存储器示意图
答:
4.写出基于ARM920T核的处理器的异常优先级由高到低的排列次序
答:复位
5.简述ARM处理器从异常返回的步骤
答:
6.哈佛体系结构和冯诺依曼体系结构有何不同。

答:哈佛体系结构有两套地址总线和数据总线是分开的,冯诺依曼体系结构是复用的。

7.用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配。

假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。

答:
8.写出四个s3c2410的中断异常处理模块中的主要寄存器,并简要说明其作用。

答:158页图7-8 ,倒数第一行
9.ARM920T体系结构支持哪两种方法存储字数据?
答:大端模式和小端模式,大端模式高地址存的是数据的低位,低地址存存的是数据的高位。

小端模式高地址存的是数据的高位,
四、程序分析题:
1.指出下面各条指令的寻址方式。

SUB R0,R1,R2 ;寻址方式为:寄存器寻址
SUBS R0,R0,#1 ;寻址方式为:立即数寻址
MOV R0,R2,LSL #3 ;寻址方式为:寄存器移位寻址
SWP R1,R1,[R2] ;寻址方式为:
LDR R2,[R3,#0x0C] ;寻址方式为:
2.分别写出语句a)与b)中LDR的作用
a) LDR r0,[r1,#6] 真正的ARM指令,取出r1+6为地址里面的存储内容送到r0里。

b) LDR r0,=0x999 伪指令,把0x999这个常数送到r0里。

3.假设R0的内容为0x104,寄存器R1、R2的内容分别为0x01与0x10,存储器所有单元初始内容为0。

连续执行下述指令后,说明存储器及寄存器的内容如何变化?
STMIB R0!,{R1,R2} //寄存器R0的内容为0x10c, 存储器0x108的内容为0x01, 存储器0x10 c的内容为0x10,寄存器R1、R2的内容分别为0x01与0x10。

LDMIA R0!,{R1,R2}
答:寄存器R0的内容为0x114,寄存器R1的内容为0x10,寄存器R2的内容为0,存储器0x10c 的内容为0 x10,存储器0x108的内容为0x01,存储器其余各处的内容都为0。

4.分析下面的程序,正确填写下面的空格。

; 功能:通过累加可以计算出10的整数倍
AREA Example1, CODE ,READONLY ; 此语句是声明代码段Example1
ENTRY ;此语句功能是标识程序入口
CODE32 ; 声明32位ARM指令
START MOV R0,#0 ; R0 = 0
MOV R1,#10 ; R1 = 10
LOOP BL ADD_SUB ; 调用子程序ADD_SUB
B LOOP ; 跳转到LOOP ADD_SUB
ADDS R0,R0,R1 ; 此语句作用是完成 R0+R1再赋给R0,并且会影响CPSR中的C标志位
MOV PC, LR ; 子程序返回
END ; 此语句作用是声明整个程序结束
五、编程题
1. 用汇编语言调用C语言实现n个数相加,n为C函数的参数,由汇编语言传递,结果存放在R5寄存器中。

答:C程序:
int allsum(int n)
{
int i;
int nsum = 0;
for(i=1;i<=n;i++)
{
nsum += i;
}
return nsum;
}
汇编程序:
AREA scaller, CODE,READONLY
IMPORT allsum //导入allsum
ENTRY //入口点
MOV R0,#20
BL allsum //“B”子函数调用命令“L”返回主函数
MOV R5,R0
HALT B HALT //死循环
END
2.利用S3C2410X的GPF4、GPF5、GPF6、GPF7四个I/O管脚控制4个LED发光二极管,编程
使其实现所有LED全亮,间隔一段时间,所有LED全灭。

电路原理图如下:
答:
void main()
{
rGPFCON = 0x5500; //端口初始化输出端口
rGPFUP = 0xff; //不启用上拉功能
int i;
rGPFDAT=0; //所有LED全亮
for(i=0;i<100000;i++);
rGPFDAT=0xF0; //所有LED全灭
for(i=0;i<100000;i++);
}
3.用汇编语言编写程序读取存储器0x40003100地址上的数据,将数据加1,若结果小于10
则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址。

答:
COUNT EQU 0x40003100 ; 定义一个变量,地址为0x40003100
AREA Example2,CODE,READONLY ; 声明代码段Example2
ENTRY ; 标识程序入口
CODE32 ; 声明32位ARM指

START LDR R1,=COUNT ; R1 <= COUNT
MOV R0,#0 ; R0 <= 0
STR R0,[R1] ; [R1] <= R0,即设
置COUNT为0
LOOP LDR R1,=COUNT
LDR R0,[R1] ; R0 <= [R1]
ADD R0,R0,#1 ; R0 <= R0 + 1
CMP R0,#10 ; R0与10比较,影响条件码标志
MOVHS R0,#0 ; 若R0大于等于10,则此指令执行,R0 <= 0
STR R0,[R1] ; [R1] <= R0,即保存COUNT
B LOOP
END。

相关文档
最新文档