老师给的题:1.已知R0=8,R2=5,执行MOVR0,R2,LSL#2后,r0=20,r2=52.已知r0=0x00000000,r1=0x00009000,men32[0x00009000]=0x01010101,mem32[0x00009004]=0x02020202问执行以下指令后,r1,r0的情况。1)ldrr0,[r1,#0x4]!;r0=0x02020202,r1=0x000090042)Ldrr0,[r1,#0x4];r0=0x02020202,r1=0x000090003)Ldrr0,[r1],#0x4;r0=0x01010101,r1=0x000090043.已知men32[0x80018]=0x03,men32[0x80014]=0x02,men32[0x80010]=0x01,r0=0x00080010,r1=0x00000000,r2=0x00000000,r3=0x00000000问执行ldmiar0!,{r1-r3}后,r0,r1,r2,r3的情况。答:r1=0x01,r2=0x02,r3=0x03,r0=0x800184.已知r1=0x00000002,r4=0x00000003,sp=0x00080014,问执行stmfdsp!,{r1,r4}后,r1,r4,sp的情况。答:r1=0x00000002,r4=0x00000003,sp=0x0008000105.已知r0=0x0,cpsr=0xd3,执行以下指令后r0的情况Mrsr0,cpsr;r0=0xd3Bicr0,r0,#0x80;r0=0x531、写出嵌入式系统的定义。答:以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。2、ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么?答:R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址。3.简述嵌入式系统的概念、组成及特点。答:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。组成:一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。其特点有:1)是专用的计算机系统,用于特定的任务;2)资源较少,可以裁减;3)功耗低,体积小,集成度高,成本低;4)使用实时操作系统;5)可靠性要求更高,具有系统测试和可靠性评估体系;6)运行环境差异大7)大部分程序固化在ROM中;8)较长的生命周期;9)嵌入式微处理器通常包含专用调试电路4、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。答:(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件系统、GUI,网络及通用组件);(4)功能层.5、ARM处理器有几种工作模式?并做说明每种工作模式的含义。答:ARM处理器有7种工作模式:用户模式(usr)-正常程序执行的模式快速中断模式(fiq)-FIQ异常响应时进入此模式中断模式(irq)-IRQ异常响应时进入此模式管理员模式(svc)-系统复位和软件中断响应时进入此模式中止模式(abt)-用于虚拟存储及存储保护系统模式(sys)-与用户类似,但有直接切换到其它模式等特权未定义模式(und)-未定义指令异常响应时进入此模式除了用户模式外,其他模式均可视为特权模式7.寄存器CPSR,SPSR的功能各是什么?答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。8.ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?答:ARM微处理器的异常状态:7种异常1)复位(Reset)异常(管理模式);2)未定义指令(undefinedinstruction)异常(未定义模式);3)软件中断(SWI)异常(管理模式);4)指令预取中止(PrefechAbort)异常(中止模式);5)数据访问中止(DataAbort)(中止模式);6)快速中断请求(FIQ)(FIQ模式);7)外部中断请求(IRQ)(IRQ模式)。异常返回指令:1)SWI,未定义的返回:MOVSPC,R14;2)IRQ,FIQ,预取中止的返回:SUBSPC,R14,#4;3)数据中止返回并重新存取:SUBSPC,R14,#8异常中断的优先级:复位(最高优先级)--数据异常中止---FIQ--IRQ---预取指异常中止---SWI----未定义指令(包括缺协处理器)。9.ARM体系结构的寄存器组织:37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。47.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。答:有4种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。①满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA,STMFA等。②空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。指令如LDMEA,STMEA等。③满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD,STMFD等。④空递增:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。指令如LDMED,STMED等。45.ARM有15个通用寄存器、一个或两个状态寄存器和PC,有些模式共用同一个寄存器,一共具有37个寄存器。120.寄存器R14的两种特殊用途:存放当前子程序的返回地址;当发生异常中断的时候,该模式下的特定物理R14被设置成该异常模式将要返回的地址。124.ARM7采用的是三级流水技术,指令分为三个阶段执行:取指、译码、执行;ARM9采用的是五级流水技术,指令分为三个阶段执行:取指、译码、执行、存储器访问、寄存器写操作。139.嵌入式操作系统的作用是什么?请举出3种常见的操作系统。答:用于管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等功能。嵌入式操作系统,大大地提高了嵌入式系统硬件工作效率,并为应用软件开发提供了极大的便利。3种常见的操作系统:WinCE、Vxworks、uClinux。148.ARM处理器共有多少个32位寄存器,多少个为通用寄存器,多少个状态寄存器。答:共有37个32位寄存器,其中31个为通用寄存器,可用于累加操作,6个为状态寄存器。164.简述嵌入式操作系统与通用操作系统的区别。答:通用操作系统是一种通用的操作系统,可运行在不同的硬件平台。而嵌入式操作系统与一般的Windows操作系统不同,其是一种专用、可定制的特点。程序。4.写出完成下列操作的指令(1)R0=16MOVR0,#16;(2)R1=R0*4MULR1,R0,#4;(3)R0=R1/16MOVR0,R1,LSL#4;(4)R1=R2*7MULR1,R2,#7;5.下列指令完成什么操作(1)ADDSR0,R1,R1,LSL#2R0=R1+(R14);(2)RSBR2,R1,#0R2=R1-0(3)ADDR0,R1,R1,LSL#1R0=R1+(R12)(4)SUBR0,R0,R1,LSL#4R0=R0-(R116)(5)ADDR0,R0,R1,LSL#7R0=R0+(R1128)(6)MLAR0,R1,R2R0=R1×R2(7)SMULLR0,R1,R2,R3R0=(R2×R3)的低32位,R1=(R2×R3)的高32位(8)BLLABEL当程序无条件跳转到标号LABEL处执行时,同时将当前的PC值保存到R14中12.说明指令STMIAr12!,{r0-r11}的操作功能。将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。