ARM练习题讲解.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE17 / NUMPAGES17 简答题 什么是嵌入式操作系统? 答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁减,功能。可靠性,成本,体积,功耗要求严格的专用计算机系统。 与通用计算机相比,嵌入式系统有哪些特点? 答:(1).嵌入式系统通常是面向特定应用的; (2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科; (3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期; (4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中; (5).嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。 ARM处理器有几种寻址方式,说明各种寻址的方式。 答: 立即寻址:操作数直接放在指令中。例如:ADD R0,R0,#0x3f ;R0←R0+0x3f 寄存器寻址:操作数放在寄存器中。例如:ADD R0,R1,R2 ;R0←R1+R2 寄存器间接寻址:操作数在内存,以寄存器中的值作为操作数的地址。 例如:LDR R0,[R1] ;R0←[R1] 基址加偏移量寻址(基址变址寻址):基址寄存器的内容与指令中的偏移量相加形成操作数的有效地址 例如:LDR R0,[R1,#4] ;R0←[R1+4] LDR R0,[R1,R2] ;R0←[R1+R2] 多寄存器寻址:一条指令可以完成多个寄存器值的传送。例如: LDMIA R0,{R1,R2,R3,R4} ;R1←[R0];R2←[R0+4];R3←[R0+8];R4←[R0+12] 堆栈寻址:堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。 例如:STMFD R13!,{R0,R4-R12,LR} LDMFD R13!,{R0,R4-R12,PC} 举例介绍嵌入式处理器有哪几类? 答:1.嵌入式微处理器(Embedded Microprocessor Unit,EMPU); 2.嵌入式微控制器;(Embedded Microcontroller Unit,EMCU) 3.嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP); 4.嵌入式片上系统(Embedded System on Chip,EsoC); 什么是立即数?请简要描述立即数在使用时有什么注意要点。 立即数,主要是指寻址时直接在指令中出现的数,在使用时注意(1)立即数前需要加#(2)ARM指令只有32位长,立即数在指令中占12位存储空间,ARM用这12位空间8位表示有效数字-基数B,4位表示译为的数M,按照把B循环右移M*2位,构造成一个新的32位的数,其它位补0,所以在使用立即数时,要注意其是否合法。 请问BL指令跳转时LR寄存器保存的是什么内容?并请简述原因。 BL跳转时,LR中保存的是执行BL跳转指令的下一条指令的地址,考虑流水线的情况,即当前的PC-4。LR用来在需要返回程序时从LR中还原程序执行的位置继续执行。 ARM内核有多少个寄存器,请列举出这些寄存器的名字和数量。 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个寄存器。 ARM通用寄存器中,有3个寄存器有特殊功能和作用,请写出它们的名字和作用。(6分) R13:SP栈指针寄存器,用来保存程序执行时的栈指针位置;R14:LR返回链接寄存器,用来保存程序执行BL指令或模式切换时的返回原程序继续执行的地址;R15:PC程序计数器,保存程序执行的当前地址。 ARM的CPSR寄存器的位定义如图所示,试简述各位的功能。(8分) 标志位含义? N?N=1?表示运算的结果为负数;N=0?表示运算的结果为正数或零?Z?Z=1?表示运算的结果为零;Z=0?表示运算的结果为非零?C?C=1?表示有进位,C=0?表示没有进位?V?V=1?表示符号位溢出,V=0?表示结果没有溢出?Q?在ARM?vTE/J?架构支持,

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档