嵌入式系统复习题 答案
嵌入式系统复习题-答案
第一章思考与实践
(③)不是常规意义上的嵌入式系统。p6①手机②mp3③pc机④数码相机
可作为嵌入式操作系统使用(①)
①linux(vxworks,uc/os-ii)②windows2000③windowsxp④dos
什么是嵌入式系统P7
第二章
没有(④) 嵌入式系统项目开发生命周期阶段的P4和5① 确定需求② 提出方案③ 实施项目④ 系统规划
第三章
ARM7TDMI中T、D、m和I的含义是什么?p22
不属于arm7三级流水线的是(③)p24①取指②译码③pc值递增④执行
对于ARM7三级流水线,当一条指令被解码时,前一条指令由(④) p24① 接受指令② 解码③ 增加个人电脑的价值④
对于arm7三级流水线,当一条指令被译码时,下一条指令正被(①)p24①取指②译码③pc值递增④执行
ARM7TDMI采用三级流水线?冯采用诺依曼建筑。
arm7有(两种)处理器状态,分别是(arm)状态和(thumb)状态。p30
ARM7有(7)种处理器模式,即(用户模式),(快速中断模式),(中断模式),(管理模式),(中止模式),(未定义模式)和(系统模式),其中五种异常模式是(快速中断模式),(中断模式),(管理模式),(中止模式)和(未定义模式)。p42~p44
(用户模式)是正常程序工作模式,特点是不能(直接)切换到其它模式。(管理模式)是“操作系统保护代码”,复位和软中断响应时进入此模式。
系统模式用于支持操作系统的(特权)任务,这与用户模式类似,但可以(直接)切换到其他模式。
在arm7(37)个用户可见寄存器中,有(6)个状态寄存器,(31)个通用寄存器。程序计数器pc是(r15),程序状态寄存器是(cpsr),链接寄存器lr是(r14),堆栈指针sp是(r13)。p47~p49
CPSR由几个控制位和几个条件代码标志组成:T=0表示处理器在(arm状态)p80~p87下工作
cpsr有若干控制位和若干条件代码标志构成:n为1表示前次运算结果(为负)。
一
cpsr有若干控制位和若干条件代码标志构成:z为1表示前次运算结果(为零)。
CPSR由几个控制位和几个条件代码标志组成:C为1,表示已生成上一个操作(进位/借位)。CPSR由几个控制位和几个条件代码标志组成:V为1,表示之前的操作(溢出)。如果上一次操作的结果为阴性,则(①) CPSR的平均值为1① N② Z③ C④ 五、
若前次运算结果为零,则cpsr的(②)为1①n②z③c④v
如果上一个操作产生进位/借位,则(③) CPSR的平均值为1① N② Z③ C④ 五、
若前次运算溢出,则cpsr的(④)为1①n②z③c④v
要禁用快速中断,处理器应(①) ① CPSR的F位为1;② CPSR的F位为0;③ CPSR的I位为1;④ CPSR的I位为0;要禁用中断,处理器应(③)
cpsr的f位为1②cpsr的f位为0③cpsr的i位为1④cpsr的i位为0
异常回顾P3~p12
子程序的最后一条指令必须是(①)p3
①movpc,r14②movpc,r14_uuund③亚种,r14_Ufig,#4④中断服务程序的最后一条指令必须是(④) P3
①movpc,r14②movpc,r14_und③subspc,r14_fig,#4④subspc,r14_irg,#4快中断服务程序的最后一条指令必须是(③)
①movpc,r14②movpc,r14_uuund③亚种,r14_Ufig,#4④当处理器响应中断时,处理器硬件修改为(③) P22① 0x00000000② 0x00000000③ 0x00000018④ 0x0000001carm7当处理器响应快速中断时,处理器硬件修改为(④) ① 0x00000000② 0x00000000③ 0x00000018④ 0x0000001c。外部设备向处理器发送中断请求,处理器进入(②) 例外① 快速中断② 打断③ 未定义指令④ 预回迁中止
arm7处理器收到快中断请求,则进入(①)异常。①快中断②中断③未定义指令④预取中止
在第四章中,有(④) ARM7的寻址模式。p6①6.②7.③8.④9
条件码复习p35~p36
使用指令条件码可以实现高效的逻辑运算,提高代码效率。指令条件代码表如表4.1所示。指令条件代码表操作条件代码助记符0000arm嵌入式系统期末考试
标志z=1含义相等2
Eq0001nez=0不相等,1000hic=1,Z无符号数大于=01001lsc=0,Z无符号数小于或等于=1。arm指令的条件代码用于在满足(条件)的情况下执行指令。
p39~p41
处理器从内存中读取数据的指令(加载指令)的助记符是(①) ① LDR② str③ SWP④ SWPB
处理器往存储器写数据的指令(存储指令)的助记符是(①)①ldr②str③swp④swpb
读取R0+0x12地址处的数据,并将其保存在R1中
ldrr1,[r0,#0x12]将r1中数据保存到r0+0x12地址处
strr1[r0,#0x12]
将r0-0x12地址处的数据读出,保存到r1中
Ldrr1,[R0,-#0x12]将R1中的数据保存到R0-0x12地址
strr1,[r0,-#0x12]
读取R0+R2地址的数据,并将其保存在R1中
ldrr1,[r1,r2]
将R1中的数据保存到R0+R2地址
strr1,[r1,r2]
读取r0-r2地址处的数据,并将其保存在R1中
ldrr1,[r0,-r2]
将R1中的数据保存到r0-r2地址
strr1,[r0,-r2]
p60~p62
数据传送指令的助记符是(①)。①mov②sbc③add④sub代进位加法指令的助记符是(①)①adc②sbc③add④sub代借位减法指令的助记符是(②)①adc②sbc③add④sub求r1+r2,和放在r1中
加上R1,R1,R2,到R1-R2,然后把差值放到R1中
subr1,r1,r2
到r4r3-r2r1,并将差异放入r6r5,subsr5,R3,r1sbcr6,R4,R2中
求r4r3+r2r1,和放在r6r5中
三
addsr5,r3,r1adcr6,r4,r2求r4r3-1,差放在r6r5中subsr5,r3,#1sbcr6,r4,#0
到r4r3+1,将总和放入r6r5 addsr5,R3,#1adcr6,R4,#0
p69
保留R0的第四个数据,并影响标志位和R0、R0、#0x0f位置1ORR0、R0的R0、#0x2a位置0bicr0、R0、R0的0x2a
p75,p76
比较R1和99,设置相关标志位cmpr1,#99r1和R2,设置相关标志位cmpr1和r2p96
跳转到标号waiter处bwaiter
如果上一次操作的结果是肯定的,则转到标签播放处的bhiplay
前次运算结果为非正,转到标号play处blsplay调用子程序whietblwhiet
上一次操作的结果为0。调用子程序plybleqply
前次运算结果为非0,调用子程序plyblneply
用(BL)指令调用子程序?子程序的返回指令为(movpc,R14)
编程题:
编写程序判断R1的值是否大于0x30。如果是,则从R1中减去0x30。cmpr1,0x30
subhir1,r1,0x30
四
编写实现两个寄存器r0,r1相加的子程序。add_sub
addsr0,r0,r1;r0=r0+r1movpc,lr;子程序返回end;文件结束
p119~p122
读取CPSR状态寄存器并将其保存在R1中
mrsr1,cpsr
读取SPSR状态寄存器并将其保存在R2中
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论