- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
页脚
页脚
题号
—
一
四
五
六
七
八
九
十
总分
累分人
签名
题分
40
12
24
24
100
特分
考生注意事项:1,本试卷共5页?请查看试卷中是否有缺贝或破损。如有立即举手报告以便史换。
2,考试结束后,考生不得将试卷、答题纸和草稿纸带出考场-
一、填空题(每空2分,共40分)
得分
评园人
1、 ARM微处理器有丄种工作模式,它们分为两类非特权模式、特权模式。其中用户 模式属于非特权模式
2、 ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM、Thumb, 状态寄存器CPSR的匸位反映了处理器运行不同指令的当前状态
ARM核有多个寄存器,其部分用于通用寄存器,有小部分作为专用寄存器,
R15寄存器用于存于PC,R13通常用来存储安
- ARM处理器有两种总线架构,数据和指今使用同一接口的是诺依曼,数据和指令分
升使.用不同接口的是哈佛結构
5、 ARM微处理器复位后? PC的地址通常是0x0,初始的工作模式Supervisor。
6、 ARM微处理器支持虚拟存,它是通过系统控制协处理者CP15和MMU(存储管理部件) 来进行虚拟存的存储和管理。当系统发生数据异常和
指令领取异常时?异常处理程序透过嵌入式操作系统的存管理机制,通过MMU交 换物理存和虚拟存的页面,以保证程序正常执行。
7、 编译代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是打断 对齐
8、 构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链, ARM公司提供的工具链是ADS工具链
9、 计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于RISC、类 型,其指今长度是定长的。
二、指令测试题(共12分)
1、写一条ARM指令,完成操作rl = r2 * 3 (4分)
ADD R1,R2,R2,
LSL #1
2 初始值R1=23H,R2=0FH执行指令BIC RO ? Rl ? R2 ? LSL硏后,寄存器RO,Rl的 值分别是多少?(4分)
R0=21H , R1=23H
3、 说明指令STMIA rl2!, IrO-rlll的操作功能。(4分)
将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的存中,地址 的操作方式是先操作、后增加,井更新地址-
4、 写一段ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素, 结果放在rd中。程序框架如下,补充代码完成上述功能。(8分)
AREA total, CODE READONLY
ENTRY
start
MOV r4, #0
ADR rO, myarray
;在此补充代码
loop
LDR rl, [rO], #4
ADD r4, r4, rl
CMP rl, #0
BNE loop
5、这是一个由源程序strtest, c和scopy. s组成的混合程序项目,通过调用strcopy 完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该 句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。(8分)
strtest, c
#include stdio. h
extern void strcopy(char *d, const char *s);
int main()
I const char *srcstr = First string - source; char dststr[] = Second string - destination*1;
printfC*1 Before copying:\nM);
printfC %s\n %s\rT, srcstr, dststr); // strcopy(dststr, srcstr);//
printf(wAfter copying:、—);
printf( %s \n %s \n, srcstr, dststr);// return 0;
)
scopy. s
(8分)
(8分)
EXPORT strcopy
strcopy
LDRB
r2, [rl],#l
STRB
r2, [r0],#l
CMP
r2, #0
BNE
strcopy
MOV
pc, Ir
END
//輸出源串和目标串
//调用strcopy函数
//输出复制后的源串和目标串
;rl指向源串,从源串载入一个字节的字符到r2,并更新rl=rl+l
;rO指向目标串,从r2保存一个字节的字符到目标串,并更新rO=rO+l ;测试串亀标志\0
;非零转标号strcopy
;返回
三、程序测试题(共24分)
1、写一段ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素, 结果放在r4
文档评论(0)