ARM嵌入式系统习题.ppt

ARM嵌入式系统习题.ppt

ID:51619752

大小:539.50 KB

页数:21页

时间:2020-03-26

ARM嵌入式系统习题.ppt_第1页
ARM嵌入式系统习题.ppt_第2页
ARM嵌入式系统习题.ppt_第3页
ARM嵌入式系统习题.ppt_第4页
ARM嵌入式系统习题.ppt_第5页
资源描述:

《ARM嵌入式系统习题.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ARM嵌入式系统习题课第二章ARM7体系结构(7)CPSR寄存器中哪些位用来定义处理器状态?寄存器CPSR为当前程序状态寄存器,当控制位T置位时,处理器处于Thumb状态,执行Thumb指令;当控制位T清零时,处理器处于ARM状态,执行ARM指令。(8)描述一下如何禁止IRQ和FIQ的中断?标志位I和F都是中断禁止标志位,用来使能或禁止ARM的两种外部中断源,具体设置如下:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能。2、定义R0=0x12345678,假设使用存储指

2、令将R0的值放在0x4000单元中。如果存储器格式为大端格式,请写出在执行加载指令将存储器0x4000单元内容取出存放到R2寄存器操作后所得R2的值。如果存储器改为小端格式,所得的R2值又为多少?低地址0x4000单元的字节内容分别是多少?地址大端模式小端模式0x400378120x400256340x400134560x400012783、请描述一下ARM7TDMI产生异常的条件是什么?各种异常会使处理器进入哪种模式?进入异常时内核有何操作?各种异常的返回指令又是什么?(1)只要正常的程序流暂时被中止,处理器就会进入异常模式。例如在用户模

3、式下执行程序时,当外设向处理器内核发出中断请求导致内核从用户模式切换到异常中断模式。(2)软件中断异常(SWI)、未定义的指令、中止(预取中止、数据中止)、快速中断(FIQ)、中断(IRQ)、复位。(3)a、将异常处理程序的返回地址(加固定的偏移量)保存到相应的异常模式下的LR,异常处理程序完成后的返回可通过将LR的值减去偏移量后写入PC;b、将CPSR的当前值保存到相应异常模式下的SPSR;c、设置CPSR为相应的异常模式d、设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行。(4)中断SUBSPC,R14_i

4、rq,#4快速中断(FIQ)SUBSPC,R14_fiq,#4未定义的指令MOVSPC,R14_und预取指中止SUBSPC,R14_abt,#4数据中止SUBSPC,R14_abt,#8软件中断异常MOVSPC,R14_svc复位无注:“MOVSPC,R14_svc”是指在管理模式下执行“MOVSPC,R14”第三章ARM7TDMI(-S)指令系统(1)ARM7TDMI(-S)有几种寻址方式?“LDRR1,[R0,#0x08]”属于哪种寻址方式?答:有8种寻址方式:1.寄存器寻址2.立即寻址3.寄存器移位寻址4.寄存器间接寻址5.基址寻址

5、6.多寄存器寻址7.堆栈寻址8.相对寻址;“LDRR1,[R0,#0x08]”属于基址寻址。(3)ARM指令中的第2个操作数有哪几种形式?列举5个8位图立即数。答:a.常数表达式(8位图)b.寄存器方式c.寄存器移位方式;八位位图即常熟是由一个八位的常数循环移位偶数位得到的0x3FC、0、0xF0000000、200、0xF0000001。(5)请指出MOV指令与LDR加载指令的区别及用途?答:MOV指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之间的数据传送;LDR指令的源操作数是地址,用于存储器到寄存器的数据传送。(6)CMP指

6、令是如何执行的?写一程序,判断R1的值是否大于0x30,是则将R1减去0x30。答:CMP指令是将寄存器Rn的值减去operand2的值,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。比如:CMP{cond}Rn,operand2CMPR1,#0x30;将R1与常数0x30比较LDRLEPC,LR;如果小于或等于0x30,则程序返回SUBR1,R1,#0x30;大于0x30,则将R1减去0x30,结果存回R1(7)调用子程序是用B指令还是用BL指令?请写出返回子程序的指令。答:调用子程序是用B

7、L指令;MOVPC,LR或BXLR(8)请指出LDR伪指令的用法。指令格式与LDR加载指令的区别是什么?答:LDR伪指令用于加载32位的立即数或一个地址值到指定的寄存器,它还常用于加载芯片外围功能部件的寄存器地址(32位立即数),一实现各种控制操作,与ARM指令的LDR相比,伪指令的LDR的参数有“=”号。比如:LDRR0,=0x123456782、(1)0xFFFF000F(A)+0x0000FFF1(B)--------------------0x00000000NZCV=0110如果两个操作数是有符号的,A是负数,B是正数,和是0,没

8、有溢出,所以V=0。如果两个操作数是无符号数,和是0,有进位,所以C=1。(2)0x7FFFFFFF(A)+0x02345678(B)---------------------0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。