ARM嵌入式系统习题课1ARM嵌入式系统习题课1.ppt

ARM嵌入式系统习题课1ARM嵌入式系统习题课1.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM嵌入式系统习题课1ARM嵌入式系统习题课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 =0假设使用存储指令将R0的值放在0x4000单元中。如果存储器格式为大端格式,请写出在执行加载指令将存储器0x4000单元内容取出存放到R2寄存器操作后所得R2的值。如果存储器改为小端格式,所得的R2值又为多少?低地址0x4000单元的字节内容分别是多少? 地址 大端模式 小端模式 0x4003 78 12 0x4002 56 34 0x4001 34 56 0x4000 12 78 3、请描述一下ARM7TDMI产生异常的条件是什么?各种异常会使处理器进入哪种模式?进入异常时内核有何操作?各种异常的返回指令又是什么? (1)只要正常的程序流暂时被中止,处理器就会进入异常模式。例如在用户模式下执行程序时,当外设向处理器内核发出中断请求导致内核从用户模式切换到异常中断模式。 (2)软件中断异常(SWI)、未定义的指令、中止(预取中止、数据中止)、快速中断(FIQ)、中断(IRQ)、复位。 (3)a、将异常处理程序的返回地址(加固定的偏移量)保存到相应的异常模式下的LR,异常处理程序完成后的返回可通过将LR的值减去偏移量后写入PC; b、将CPSR的当前值保存到相应异常模式下的SPSR; c、设置CPSR为相应的异常模式 d、设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行。 (4) 中断 SUBS PC,R14_irq,#4 快速中断(FIQ) SUBS PC,R14_fiq,#4 未定义的指令 MOVS PC,R14_und 预取指中止 SUBS PC,R14_abt,#4 数据中止 SUBS PC,R14_abt,#8 软件中断异常 MOVS PC,R14_svc 复位 无 注:“MOVS PC,R14_svc” 是指在管理模式下执行“MOVS PC,R14” 第三章 ARM7TDMI(-S)指令系统 (1)ARM7TDMI(-S)有几种寻址方式?“LDR R1,[R0,#0x08]”属于哪种寻址方式? 答:有8种寻址方式:1.寄存器寻址 2.立即寻址 3.寄存器移位寻址 4.寄存器间接寻址 5.基址寻址 6.多寄存器寻址 7.堆栈寻址 8.相对寻址;“LDR R1,[R0,#0x08]”属于基址寻址。 (3) ARM指令中的第2个操作数有哪几种形式?列举5个8位图立即数。 答:a.常数表达式(8位图) b.寄存器方式 c.寄存器移位方式; 八位位图即常熟是由一个八位的常数循环移位偶数位得到的 0x3FC、0、0xF0000000、200、0xF0000001。 (5)请指出MOV指令与LDR加载指令的区别及用途? 答:MOV指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之间的数据传送;LDR指令的源操作数是地址,用于存储器到寄存器的数据传送。 (6) CMP指令是如何执行的?写一程序,判断R1的值是否大于0x30,是则将R1减去0x30。

文档评论(0)

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

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

1亿VIP精品文档

相关文档