文档详情

arm试题a卷

小**
实名认证
店铺
DOC
76KB
约4页
文档ID:92323067
arm试题a卷_第1页
1/4

课程考试试题 学期 学年 1 ARM体系结构与编程 拟题人: 校对人: 拟题学院(系): 适 用 专 业: 吴希英 (答案写在答题纸上,写在试题纸上无效) 一、填空题(每空1分,共30分) 1. 常见的ARM处理器内核有ARM7、ARM9和【ARM9E 】等 2. 按总线所传送的信息类型,总线分为【数据总线】、【控制总线】和【地址总线】 3. ADS 是一套用来开发ARM 处理器应用系统的开发工具包,用户可以用ADS 编辑、编译和调试C、C++以及汇编程序目前的版本为【1.2版本】 4. 与逻辑运算规则:0 • 0=【 0】;0 • 1=【 0】; 1 • 0=【 0】; 1 • 1=【 1】 5. 或逻辑运算规则: 0 + 0=【 0】;0 +1=【 1】; 1 + 0=【1 】; 1 + 1=【 1】 将2进制转换为16进制:(1001,1100,1011,0100,1000) B =【9】 6.ARM 属于【RISC】架构 7.ARM 指令集是【32 】位宽,Thumb 指令集是【 16】位宽 8.ARM微处理器共有【37 】个【32 】位寄存器,其中【 31】个为通用寄存器,【6 】个为状态寄存器。

9.复位后,ARM处理器处于【管理】工作模式,【ARM】状态 10.S3C2410采用的核心处理器是【ARM920T】 11.GPIO的中文全称是【通用I/O端口】 12.ARM处理器有两种状态,分别是【ARM】和【Thumb】 13.计算机结构分为【哈佛】结构和【冯诺依曼】结构 14.ARM处理器支持的数据类型中,字节为【8】位、半字为【16】位、字为【32】位 25.将2进制转换为16进制:(1101,1010,1011,0110 1110) B = 【DAB6E】 二、选择题:(每个选择2分,共30分) 1.在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法?【B 】 A、直接修改CPU状态寄存器(CPSR)对应的模式 B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态 C、使用软件中断指令(SWI) D、让处理器执行未定义指令 2.嵌入式系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令例如:对于S3C2410来说,Boot Loader会映射到【 B】地址处 A 0x0c000000 B 0x00000000 C 0x00000018 D 0x40000018 3.CPSR中的低8位称为控制位,下列不属于控制位的是【A 】。

A、N B、I C、F D、T 4.ARM中可以访问状态寄存器的指令是【D 】,能够访问内存的指令是【C 】 A、MOV B、ADD C、LDR D、MRS 5.下列条件码中表示不相等的是【 B】 A、EQ B、NE C、CS D、CC 6.CPSR中的低8位称为控制位,其中I位等于1表示【A 】 A、禁止IRQ中断 B、禁止FIQ中断 C、允许IRQ中断 D、允许FIQ中断 7.ARM微处理器支持7种工作模式其中,除【A 】之外的其余6种称为特权模式,在这6种之中,除【 D】之外的其余5种又称为异常模式 A、用户模式 B、管理模式 C、中止模式 D、系统模式 8. ATPCS规定中,栈是【B 】 A、满递增 B、满递减 C、空递增 D、空递减 9. 在用ARM汇编编程是,其寄存器有多个别名,通常PC是指R15,LR 是指【C 】,SP是指【 B】 A、R12 B、R13 C、R14 D、R15 10.下列ARM指令中,可用于满递增堆栈操作的是【D 】 A、STMDA B、STMIA C、STMDB D、STMIB 11.下列32位数中,不可作为立即数的是【A 】。

A、0x81000007 B、0x04800000 C、0x00000012 D、0x8000007 12.ARM伪指令中,可用于大范围地址读取的是【C 】 A、ADR B、ADRL C、LDR D、NOP 13.同CISC相比,下面哪一项不属于RISC处理器的特征D】 A、采用固定长度的指令格式,指令规整、简单、基本寻址方式有2~3种 B、减少指令数和寻址方式,使控制部件简化,加快执行速度 C、数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计 D、RISC处理器都采用哈佛结构 14.以下叙述中,不符合RISC指令系统特点的是【B 】 A、 指令长度固定,指令种类少 B、 寻址方式种类丰富,指令功能尽量增强 C、 设置大量通用寄存器,访问存储器指令简单 D、 选取使用频率较高的一些简单指令 15.下面关于ARM处理器的体系结构描述哪一个是错误的 B】 A、三地址指令格式 B、所有的指令都是多周期执行 C、指令长度固定 D、Load-Store结构 三、简答(7+2+3+5+6+8+9=40分) 1、 请写出以下相关ARM指令语句的注释:(7分) MOV R0, PC 把PC的值传送到R0寄存器,此时PC地址为当前指令位置+8 ADD R0, R1, #1 把R1加上1的结果给R0寄存器 LDR R0, =0x56000010 是伪指令,把0x5600010 f放到R0寄存器中,采用文字池技术 LDR PC, [PC, #4] 把当前的PC值加4位置的内容赋值给PC,实现绝对跳转 MRS R0, CPSR 把CPSR的值传送给R0 BL LOOP 带返回地址的跳转指令,把下一条指令给LR后,跳转到Loop地址 STMFD R13!,{R0-R12} 压栈指令,把R0到R12寄存器的值通过R13栈指针进行压站保存 2、 什么是立即数?请简要描述立即数在使用时有什么注意要点。

2分) 答:立即数,主要是指寻址时直接在指令中出现的数在使用时注意(1)立即数前需要加#(2)ARM指令只有32位长,立即数在指令中占12位存储空间,ARM用这12位空间8位表示有效数字-基数B,4位表示译为的数M,按照把B循环右移M*2位,构造成一个新的32位的数,其它位补0,所以在使用立即数时,要注意其是否合法 3、 请问BL指令跳转时LR寄存器保存的是什么内容?并请简述原因3分) 答:BL跳转时,LR中保存的是执行BL跳转指令的下一条指令的地址,考虑流水线的情况,即当前的PC-4LR用来在需要返回程序时从LR中还原程序执行的位置继续执行 4、 ARM内核有多少个寄存器,请列举出这些寄存器的名字和数量5分) 答:ARM有37个寄存器,(1)未分组寄存器:R0-R7,共8个;(2)分组寄存器R8-R14,其中FIQ模式下有单独的一组R8-R12共5个,另外6种模式共用一组R8-R12,共5个,USR和SYS模式共用一组R13-R14,共2个,另外5种模式下各有独自的一组R13-R14,共10个;(3)程序计数器PC即R15寄存器,共1个;(4)状态寄存器CPSR,和5个备份状态寄存器SPSR,共6个;ARM总计37个寄存器。

5、 ARM通用寄存器中,有3个寄存器有特殊功能和作用,请写出它们的名字和作用6分) 答:R13:SP栈指针寄存器,用来保存程序执行时的栈指针位置;R14:LR返回链接寄存器,用来保存程序执行BL指令或模式切换时的返回原程序继续执行的地址;R15:PC程序计数器,保存程序执行的当前地址 6、 ARM的CPSR寄存器的位定义如图所示,试简述各位的功能8分) 条件位(指令进行算术运算后的结果是否有进位,借位等),I位(IRQ异常允许位),F位(FIQ异常允许位),T位(ARM/Thumb工作状态),模式位(处理器工作模式) 7、用汇编语言编写程序读取存储器0x40003100地址上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址9分) 。

下载提示
相似文档
正为您匹配相似的精品文档