第二章复习题目_第1页
第二章复习题目_第2页
第二章复习题目_第3页
第二章复习题目_第4页
第二章复习题目_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. 第二章复习题目1.存储一个32位数0x876165到2000H2003H四个字节单元中,若以小端模式存储,则2000H存储单元的内容为( C)。A、0x00B、0x87C、0x65D、0x612.存储一个32位数0x2168465到2000H2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。A、0x21 B、0x68 C、0x65 D、0x023.若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDRR0,R1,8!后R0的值为(D )。A. 0x2000B. 0x86C. 0x2008D. 0x394.LDR R2,R3,

2、#128 的寻址方式是( C )。A. 寄存器寻址B. 寄存器移位C. 变址寻址 D. 间接寻址5. 若一条分支指令为B next,next为偏移量,其值等于0x000080,该指令在存储器存储单元的地址若为0x00000018,那么该指令执行后,将转移到地址为_处接着执行。A.0x00000080 B.0x00000088 C.00000098 D.0x000000A06. ARM微处理器既可以访问字节,即一次读/写8位二进制数据,也可以访问字,即一次读写32位二进制数,下面可以作为字地址的是_。A.0x30008233 B.0x30008232 C.0x30008231 D.0x30008

3、2305.B xxxx是无条件转移指令,无条件转移指令转移地址计算公式是:目标地址=指令地址+8+偏移量;所以目标地址=0X00000018+8+0x000080=0x000000A0。6.一个字32位,占四个字节,如何保证字不错位,要求字地址是四的整倍数,该题只有0x30008230是四的整倍数,那么要求字节与字都能访问,只有选择0x30008230,顺便说一下,字节任何地址都可以第3章 指令类型复习题目1、 多寄存器存储指令STMFD SP!R0-R12,R14完成了把存储器R0到R12,以及寄存器R14进行压栈保护功能。若带链接的分支指令在执行后转移到此STM指令处,那么若要返回分支处,

4、用一条什么指令来实现?为什么?2、ARM9微处理器的指令MOV R3,#ox81,ROR #31完成的是给R3寄存器赋予一个数值,经过这条指令的运算后R3寄存器的值是多少?为什么?3、 写一条 ARM 指令,完成操作r1 = r2 * 3;说明指令STMIA r12!,r0-r11的操作功能。4.假设R0的内容为0x8000,寄存器R1,R2的内容分别为0x01与0x10,存储器内容为0.连续执行下述指令后,说明每条指令执行后PC如何变化?存储器及寄存器的内容如何变化? STMIB R0!,R1,R2 LDMIA R0!,R1,R21、答:LDMFD SP!R0-R12,R15,(4分)子程序

5、调用时(即带链接的分支指令BL执行时)STMFD、LDMFD是保存和恢复现场通用的指令,在压栈时,R14寄存器(即链接寄存器LR)的内容必须保存到堆栈中,(3分)出栈时把堆栈中对应的R14的内容,出栈到PC寄存器中,这样就可以保证子程序完成后的正确的返回。(3分)2、答:R3的值为OX102,(4分)原始数据(二进制)00000 00000右循环31位,等于左循环移1位,(4分)如右循环32位,原值不变,所以为:00000 00000 即:0x102。(2分)3、答:、ADD R1,R2,R2,LSL #1(4分);将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存

6、中,(4分)地址的操作方式是先操作、后增加,并更新地址。(2分)4解:执行 STMIB R0!,R1,R2l PC=PC+4l 0x8004=0x01l 0x8008=0x10l R1,R2内容不变l R0=R0+8=8008 注意:黑色为指令执行前,蓝色为指令执行后备注(IB为传送前地址值加4);备注STM为将处理器内部寄存器的内容传至存储器中;具体描述将寄存器内容传至R0寄存器所指存储器地址单元内部。执行LDMIA R0!,R1,R2l PC=PC+4l R1=0x8008=0x00000010l R2=0x800C=未知l R0=R0+8=0x8010注意:蓝色为指令执行前,红色为指令执

7、行后备注(IA为传送数据后地址加4);备注LDM为存储器出栈操作指令,将R0地址单元处所对应的数据传至寄存器R1中。 第7章 1.若一个采用S3C2440芯片为核心开发的嵌入式系统需要看门狗功能,监测系统程序的周期不大于40us,PCLK=50MHz。那么,我们需要使用下面一段程序来完成初始化看门狗:计算看门狗重启的时间计算? ldrr0,=WTDAT ;WTDAT寄存器对应的地址赋给R0 ldrr1,=0x7d ;计数器初始值 strr1,r0 ldrr0,=WTCON ;WTCON寄存器对应的地址赋给R0 ldrr1,=0x0021 ;使能看门狗及其复位功能,分割器值设为16 strr1,r0 解释:看门狗定时器计数值1)输入到计数器的时钟周期t_watchdog = 1/( PCLK / (Prescaler value + 1) / Division_factor )预分频器P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论