- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式期末复习题目
第二章复习题目
1.存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存
储,则2000H存储单元的内容为( C)。
A、0x00 B、0x87 C、0x65 D、0x61
2.存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。
A、0x21 B、0x68 C、0x65 D、0x02
3.若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。
A. 0x2000 B. 0x86 C. 0x2008 D. 0x39
4.LDR R2,[R3,#128] 的寻址方式是( C )。
A. 寄存器寻址 B. 寄存器移位 C. 变址寻址 D. 间接寻址
若一条分支指令为B next,next为偏移量,其值等于0x000080,该指令在存储器存储单元的地址若为0那么该指令执行后,将转移到地址为______处接着执行。
A.0 B.0CD.0x000000A0
ARM微处理器既可以访问字节,即一次读/写8位二进制数据,也可以访问字,即一次读写32位二进制数,下面可以作为字地址的是_________。
A.0 B.0 C.0D.05.B xxxx是无条件转移指令,无条件转移指令转移地址计算公式是:目标地址=指令地址+8+偏移量;所以目标地址=08+0x000080=0x000000A0。
6.一个字32位,占四个字节,如何保证字不错位,要求字地址是四的整倍数,该题只有0四的整倍数,那么要求字节与字都能访问,只有选择0顺便说一下,字节任何地址都可以
指令类型复习题目
多寄存器存储指令STMFD SP![R0-R12,R14]完成了把存储器R0到R12,以及寄存器R14进行压栈保护功能。若带链接的分支指令在执行后转移到此STM指令处,那么若要返回分支处,用一条什么指令来实现?为什么?
2、ARM9微处理器的指令MOV R3,#ox81,ROR #31完成的是给R3寄存器赋予一个数值,经过这条指令的运算后R3寄存器的值是多少?为什么?
①写一条 ARM 指令,完成操作r1 = r2 * 3;②说明指令STMIA r12!,{r0-r11}的操作功能。
4.假设R0的内容为0x8000,寄存器R1,R2的内容分别为0x01与0x10,存储器内容为0.连续执行下述指令后,说明每条指令执行后PC如何变化?存储器及寄存器的内容如何变化?
STMIB R0!,{R1,R2}
LDMIA R0!,{R1,R2}
1、答:LDMFD SP![R0-R12,R15],(4分)子程序调用时(即带链接的分支指令BL执行时)STMFD、LDMFD是保存和恢复现场通用的指令,在压栈时,R14寄存器(即链接寄存器LR)的内容必须保存到堆栈中,(3分)出栈时把堆栈中对应的R14的内容,出栈到PC寄存器中,这样就可以保证子程序完成后的正确的返回。(3分)
2、答:R3的值为OX102,(4分)原始数据(二进制0000000010000001右循环31位,等于左循环移1位,(4分)如右循环32位,原值不变,所以为0000000000000010 即:0x102。(2分)
3、答:①、ADD R1,R2,R2,LSL #1(4分);②将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,(4分)地址的操作方式是先操作、后增加,并更新地址。(2分)
4解:执行 STMIB R0!,{R1,R2}
PC=PC+4
[0x8004]=0x01
[0x8008]=0x10
R1,R2内容不变
R0=R0+8=8008
注意:黑色为指令执行前,蓝色
为指令执行后
备注(IB为传送前地址值加4);备注STM为将处理器内部寄存器的内容传至存储器中;具体描述将寄存器内容传至R0寄存器所指存储器地址单元内部。
执行LDMIA R0!,{R1,R2}
PC=PC+4
R1=[0x8008]=0R2=[0x800C]=未知
R0=R0+8=0x8010
注意:蓝色为指令执行前,红色
为指令执行后
备注(IA为传送数据后地址加4);备注LDM为存储器出栈操
文档评论(0)