嵌入式系统第3次离线作业(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《嵌入式系统》作业三

一、判断题

1.ARM属于CISC体系架构。F

2.除了用户模式外,ARM处理器的其它几种工作模式属于特权模式。T

3.在任何模式下,ARM处理器都可以访问全部寄存器。F

4.在ARM处理器中,快速中断(FIQ)的优先级高于外部中断(IRQ)。T

5.使用立即寻址时,目标寄存器可以为立即数。F

6.BLX指令可以将处理器切换到Thumb状态。T

7.链接寄存器(LR)用于保存子程序的返回地址,它不能用作其他用途。F

8.由于使用寄存器R0-R3来传递参数,所以调用子程序时,参数不能超过4个。F

9.使用汇编编写ARM程序时,可直接为PC寄存器赋值。T

10.ATPCS是ARM程序和Thumb程序中子程序调用的规则,它是一套强制规则。F

二、选择题

11.下列哪项不是ARM处理器的特点。B

A.小体积、低功耗

B.可以使用除加载/存储指令外的多种指令访问存储器

C.大多数数据操作在寄存器中完成,执行速度快

D.支持Thumb/ARM双指令集

12.当加法指令产生进位时,下列哪个条件标志位会发生变化:A

A. C

B.T

C.I

D. F

13.下列哪个不属于ARM处理器的寻址方式:D

A.立即寻址

B.寄存器寻址

C.寄存器间接寻址

D.链表寻址

14.下列哪条指令是块操作指令:C

A.STMFD

B.POP

C.LDMIA

D.PUSH

15.下列哪条指令把寄存器R1、R2的值相加后存到R0中:C

A.AND R0, R1, R2

B.SUB R0, R1, R2

C.ADD R0, R1, R2

D.AND R1, R2, R0

16.R0的中的值为0xFFF3,执行指令AND R0, R0, #3后,R0的值为:A

A.0x0003

B.0xFFFF

C.0xFFF0

D.0xFFF3

17.CPZSR寄存器中的Z条件码为0,当前的PC值为0xFF00,则执行BEQ 0xAAA0后,

PC值为:C

A.0xAAA0

B.0xAAA4

C.0xFF04

D.0xFF00

18.下列哪条ARM汇编伪指令可用来定义符号:A

A.GBLA

B.IF

C.MAP

D.WHILE

阅读下列程序,回答9~10题:

LDR R0, 0x22

LDR R1, 0x11

SUB R0, R0, R1

CMP R0, R1

19.执行这段程序后,R0的值为:C

A. A 0x22

B. B 0x33

C. C 0x11

D. D 0

20.执行这段程序后,CPSR的下列哪个标志位将发生变化:C

A. C

B.V

C.Z

D.以上都不对

三、简答题

21.请简述ARM处理器的堆栈寻址和块拷贝寻址模式,并比较它们的不同点。

答:堆栈寻址: 按先入先出的方式工作。

块拷贝寻址: 一种多寄存器传送指令,用于将一块数据从存储器的某一块位置拷贝到多个寄存器中或相反。

主要不同点:两者存放数据的顺序相反。

22.函数strncpy的作用是将长度为n的数组s拷贝至d,void strncpy(char *s, const char *d, int n)

{

int c;

__asm

{

loop:

CMP n,#0

BEQ out

LDRB c,[s],#1

STRB c,[d],#1

SUB n,n,#1

B loop

out:

}

}

请将该函数补充完整。

相关文档
最新文档