- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2013嵌入式A卷答案剖析
三.简答题(20分,共4题)
1. 简述ARM发生异常时,ARM做哪些事情?ARM微处理器会执行以下几步操作:
(1)将下一条指令的地址存入相应连接寄存器LR。若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量。这样,异常处理程序就不需要确定异常是从何种状态进入的,程序在处理异常返回时能从正确的位置重新开始执行。例如:在软件中断异常SWI中,指令 MOV PC,R14_svc总是返回到下一条指令,而不管SWI是在ARM状态执行,还是在Thumb状态执行。
(2)将CPSR复制到相应的SPSR中。
(3)根据异常类型,强制设置CPSR的运行模式位。
(4)强制PC从相应的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。还可以设置中断禁止位,以禁止中断发生。
如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。
2. ARM体系结构支持几种类型的异常?优先级状态如何?(5分)
答:当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序。异常优先级由高到低的排列次序为:复位、数据中止、FIQ、IRQ、预取指令中止、未定义指令、SWI。
3. 简述ARM处理器从异常返回的步骤(5分)
答:异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:
1、将连接寄存器LR的值减去相应的偏移量后送到PC中。
2、将SPSR复制回CPSR中。
3、若在进入异常处理时设置了中断禁止位,要在此清除。
可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。
4.下列ARM条件码的含义是什么?
(1) EQ(2) NE(3) GE(4) LT(5) MI
四.阅读程序题(30分,共5题)
1.根据一段完整的汇编语言代码回答下面的问题(10分)。
;/*----------------------------------------------------------------- */
;/* code */
;/*----------------------------------------------------------------- */
GLOBAL Reset_Handler
area start,code,readwrite
entry
code32
num EQU 20
Reset_Handler
ldr R0, =src
ldr R1, =dst
mov R2, #num
ldr sp, =0
blockcopy
movs R3,R2, LSR #3
beq copywords
stmfd sp!, {R4-R11} ;(*1*)
octcopy
ldmia R0!, {R4-R11}
stmia R1!, {R4-R11}
subs R3, R3, #1
bne octcopy
ldmfd sp!, {R4-R11} ;(*2*)
copywords
ands R2, R2, #7
beq stop
wordcopy
ldr R3, [R0], #4
str R3, [R1], #4
subs R2, R2, #1
bne wordcopy
stop
b stop
;/*------------------------------------------------------------------ */
;/* make a word pool */
;/*------------------------------------------------------------------ */
ltorg
src dcd 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4
dst dcd 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
文档评论(0)