第二章复习题目.docx

上传人:b****5 文档编号:14727966 上传时间:2023-06-26 格式:DOCX 页数:9 大小:980.92KB
下载 相关 举报
第二章复习题目.docx_第1页
第1页 / 共9页
第二章复习题目.docx_第2页
第2页 / 共9页
第二章复习题目.docx_第3页
第3页 / 共9页
第二章复习题目.docx_第4页
第4页 / 共9页
第二章复习题目.docx_第5页
第5页 / 共9页
第二章复习题目.docx_第6页
第6页 / 共9页
第二章复习题目.docx_第7页
第7页 / 共9页
第二章复习题目.docx_第8页
第8页 / 共9页
第二章复习题目.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第二章复习题目.docx

《第二章复习题目.docx》由会员分享,可在线阅读,更多相关《第二章复习题目.docx(9页珍藏版)》请在冰点文库上搜索。

第二章复习题目.docx

第二章复习题目

第二章复习题目

1.存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存

储,则2000H存储单元的内容为(C)。

A、0x00B、0x87C、0x65D、0x61

2.存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为(D)。

A、0x21B、0x68C、0x65D、0x02

3.若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDRR0,[R1,#8]!

后R0的值为(D)。

A.0x2000B.0x86C.0x2008D.0x39

4.LDRR2,[R3,#128]的寻址方式是(C)。

A.寄存器寻址B.寄存器移位C.变址寻址D.间接寻址

5.若一条分支指令为Bnext,next为偏移量,其值等于0x000080,该指令在存储器存储单元的地址若为0x00000018,那么该指令执行后,将转移到地址为______处接着执行。

A.0x00000080B.0x00000088C.00000098D.0x000000A0

6.ARM微处理器既可以访问字节,即一次读/写8位二进制数据,也可以访问字,即一次读写32位二进制数,下面可以作为字地址的是_________。

A.0x30008233B.0x30008232C.0x30008231D.0x30008230

5.Bxxxx是无条件转移指令,无条件转移指令转移地址计算公式是:

目标地址=指令地址+8+偏移量;所以目标地址=0X00000018+8+0x000080=0x000000A0。

6.一个字32位,占四个字节,如何保证字不错位,要求字地址是四的整倍数,该题只有0x30008230是四的整倍数,那么要求字节与字都能访问,只有选择0x30008230,顺便说一下,字节任何地址都可以

 

第3章指令类型复习题目

1、多寄存器存储指令STMFDSP!

[R0-R12,R14]完成了把存储器R0到R12,以及寄存器R14进行压栈保护功能。

若带链接的分支指令在执行后转移到此STM指令处,那么若要返回分支处,用一条什么指令来实现?

为什么?

 

2、ARM9微处理器的指令MOVR3,#ox81,ROR#31完成的是给R3寄存器赋予一个数值,经过这条指令的运算后R3寄存器的值是多少?

为什么?

 

3、①写一条ARM指令,完成操作r1=r2*3;②说明指令STMIAr12!

{r0-r11}的操作功能。

 

4.假设R0的内容为0x8000,寄存器R1,R2的内容分别为0x01与0x10,存储器内容为0.连续执行下述指令后,说明每条指令执行后PC如何变化?

存储器及寄存器的内容如何变化?

STMIBR0!

{R1,R2}

LDMIAR0!

{R1,R2}

 

1、答:

LDMFDSP!

[R0-R12,R15],(4分)子程序调用时(即带链接的分支指令BL执行时)STMFD、LDMFD是保存和恢复现场通用的指令,在压栈时,R14寄存器(即链接寄存器LR)的内容必须保存到堆栈中,(3分)出栈时把堆栈中对应的R14的内容,出栈到PC寄存器中,这样就可以保证子程序完成后的正确的返回。

(3分)

2、答:

R3的值为OX102,(4分)原始数据(二进制)0000000000右循环31位,等于左循环移1位,(4分)如右循环32位,原值不变,所以为:

0000000000即:

0x102。

(2分)

3、答:

①、ADDR1,R2,R2,LSL#1(4分);②将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,(4分)地址的操作方式是先操作、后增加,并更新地址。

(2分)

4解:

执行STMIBR0!

{R1,R2}

●PC=PC+4

●[0x8004]=0x01

●[0x8008]=0x10

●R1,R2内容不变

●R0=R0+8=8008

 

注意:

黑色为指令执行前,蓝色

为指令执行后

备注(IB为传送前地址值加4);备注STM为将处理器内部寄存器的内容传至存储器中;具体描述将寄存器内容传至R0寄存器所指存储器地址单元内部。

 

执行LDMIAR0!

{R1,R2}

●PC=PC+4

●R1=[0x8008]=0x00000010

●R2=[0x800C]=未知

●R0=R0+8=0x8010

 

注意:

蓝色为指令执行前,红色

为指令执行后

备注(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/(Prescalervalue+1)/Division_factor)

预分频器Prescaler及分频因子Divisionfactor的值由用户在WTCON(看门狗时钟控制寄存器)中设置。

PCLK为系统运行频率,如200MHZ。

2)看门狗的定时周期

T=WTCNT*t_watchdog

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2