嵌入式复习思考题(1)
更新时间:2024-03-21 16:19:01 阅读量: 综合文库 文档下载
- 嵌入式实验思考推荐度:
- 相关推荐
嵌入式复习思考题(1)
一、简答题
1、ARM9有哪几种工作模式?其中哪几种属于特权模式?哪几种属于几种异常模式? 2、ARM9有哪2种工作状态?各自特点?实现状态切换指令的是什么?
3、简述ARM9在不同工作模式下寄存器分布情况(用图表说明)。R13、R14、R15的固定用途; CPRS和SPRS名称及功能。
4、ARM920T处理器有哪7种异常?各自对应中断矢量、优先级如何排列? 5、ARM处理器对异常中断的响应及返回过程。 6、写出ARM9支持的寻址方式,各举一例。 7、写出指令LDRB/LDRH/LDR的区别。
8、写出LDM、STM指令用于数据块拷贝时对应的4种后缀以及用于堆栈操作对应的4种后缀。 解释各自的执行过程。
9、ARM和Thumb两种状态下各自堆栈的生成方式有何不同?写出各自对应的入栈、出栈指令。 10、写出条件代码NE、EQ的判断条件。
11、B、BL及BX指令有何区别?写出无嵌套的子程序调用及返回指令。 12、举例说明伪指令LDR的2个主要用途。 13、什么是ATPCS?它有哪些规则?
二、程序阅读题(重点检测寻址方式及指令)
1、在每条语句后做简要注释,写出程序执行后R0、R1 、R2和C的值。 (知识点:算术、逻辑操作、影响标志位S)
AREA SUMM , CODE , READONLY X EQU 8 Y EQU 16 ENTRY MOV R0 , #X MOV R1 , #Y ADD R2 , R0 , R1 AND R0 , R2 , #0X0F MOV R2 , #Y
ADDS R2 , R0 , R1 , LSR #1 STOP B STOP
END
2、分析程序,按照加“//”语句的要求解答。(知识点:堆栈操作) AREA STK , CODE , READONLY ENTRY
MOV R1 , #0X30 MOV R2 , #0X08
MOV SP , #0X400
STMFD SP!,{R1,R2};// ① 写出语句执行后SP和R2的值 LDMFD SP!,{R5,R6};// ② 写出语句执行后SP、R5和R6的值 LOOP B LOOP END
3、写出程序实现的功能,并在每条语句后做简要注释。 (知识点:寻址方式[Rn] , #immediate、循环体、数据拷贝)
AREA armcopy CODE, READONLY num EQU 16 ENTRY ADR r1, src ADR r3, dst MOV r2, #num copy LDR R0 , [r1] , #4 STR R0 , [r3] , #4
SUBS r2 , r2 , #1 BNE copy stop B stop
src DCD 1,2,3,4,1,2,3,4,5,6,1,2,3,4,1,2 dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
END
4、分析程序功能,并写出加序号语句的作用。 (知识点:状态切换) AREA thcopy, CODE, READONLY ENTRY CODE32
LDR r1, =src LDR r3, =dst MOV r2, #4
LDR r4, =copy+1 ;① BX r4 ;② CODE16 ;③ copy
LDRB r0,[r1] ADD r1,#1
STRB r0,[r3] ADD r3,#1
SUB r2, r2, #1 BNE copy stop B stop
src DCB 1,2,3,4
dst DCB 0,0,0,0 END
5、写出下列程序执行后r0的值,并写出加序号语句的作用。(知识点:跳转表、子程序的调用返回) AREA Jump, CODE, READONLY ENTRY
Start MOV r0, #0 MOV r1, #8 MOV r2, #5
BL count ;① stop B stop
count CMP r0, #2 ;② MOVHS pc, lr ;③ LDR r3, =JumpTable ;④ LDR pc, [r3,r0,LSL#2] ;⑤ JumpTable
DCD DoAdd DCD DoSub DoAdd
ADD r0, r1, r2
MOV pc, lr ;⑥ DoSub
SUB r0, r1, r2 MOV pc,lr END
6、分析下面这段混合程序回答: (1)、程序实现了什么功能?
(2)C语言程序和汇编代码如何传递参数? (3)在每条语句后做简要注释。
(知识点:C和汇编混合编程框架、ATPCS规则、字节拷贝)
extern void strcpy(char *d,const char *s) int main(void) {
const char *srcstr=”abcdefg”;
char *dststr=”jjjjjjjjjj”;
strcopy(dststr,srcstr) printf(“%s\\n%\\n”,srcstr,dststr); return(0); }
AREA SCopy, CODE, READONLY EXPORT strcopy
strcopy LDRB r2, [r1],#1
STRB r2, [r0],#1 CMP r2, #0 BNE strcpy MOV pc,lr END
三、设计题
(掌握汇编及C语言简单程序设计。如数据拷贝、跳转表、混合编程。) 1、用汇编语言编写数据块或字符拷贝程序(如阅读程序题)。
2、用汇编语言编写含有2个分支的跳转表实现程序跳转。R2寄存器中存放的是跳转表的基地址。 R1中用于选择不同的子程序,子程序可以任意命名。R1的不同值选择不同的子程序。并做简单注释。(如阅读程序题)
3、编写一段C语言与汇编语言的混合编程代码,在C语言程序中调用汇编语言代码,完成字符串的拷贝。(如阅读程序题)
4、在汇编子程序中调用一个计算a、b、c三者之和的C语言函数add3 ( ) ,计算i+2i+3i, 假设i就在R0中。(要求说明汇编程序和C函数之间如何进行参数传递)。
正在阅读:
嵌入式复习思考题(1)03-21
基础无答案 8选修3-1第八章 磁场05-24
2012年中考英语词汇-第115讲05-10
使用CATIA对船舶机舱进行三维设计07-20
所得税会计习题05-09
2015年04月自学考试00051管理系统中计算机应用历年真题03-10
三角形全等的判定SSS练习题(含答案)08-14
期货基础知识TXT02-20
美国大学奖学金的种类具体有哪些04-10
人饮工程管护制度09-17
- 高一物理牛顿运动定律全套学习学案
- 水处理一级反渗透加还原剂亚硫酸氢钠后为什么ORP会升高
- 毕业设计(论文)-正文董家口 - 图文
- 荣盛酒店经营管理公司录用通知及入职承诺书II
- 第二讲 大学英语四级快速阅读技巧
- 质量管理体系文件(2015年委托第三方医药物流配送企业专用版本)
- 214071收款办法
- 苏轼对《文选》选文的评价
- 《诊断学基础B》1-8作业
- 广东省东莞市高一数学下学期期末教学质量检查试题
- 海南电网公司VIS推广应用管理办法
- 红星照耀中国习题
- 苏教版小学语文六年级上册期末复习资料之生字词整理
- 局域网组建与应用—王向东
- 税务稽查内部管理文书样式
- 环保社会实践调查表
- 九年级思品第一单元复习
- 2016年全国注册咨询工程师继续教育公路路线设计规范试卷
- 毕业设计-青岛港董家口港区防波堤设计
- 撞背锻炼方法与益处
- 思考题
- 嵌入式
- 复习
- 2015高考英语考前冲刺40天:7 非谓语动词
- 2018年临床助理医师笔试试题及答案(卷二)
- 鸡作文之小鸡吃米的作文
- 小学二年级数学第一单元长度单位练习题
- 员工考评制度
- 时政类杂志的广告特色分析
- (2018版)数据库原理实验4指导书
- 践行师德五提倡争当师德五表率倡议书2
- 2019七年级数学上册 第一章 有理数 有理数的大小比较测试题(新
- 多媒体技术介绍
- 高三物理最新教案-高三单元复习教案电场复习教案 精品
- 2018年版《思想道德修养与法律基础》习题库(附答案)
- MP1570A SDH测试仪使用指导书-B
- 浙江省杭州市塘栖中学2016-2017学年高一数学下学期周末练习(13)
- BEC 剑桥商务英语中级(第三版)讲义MODULE 2
- 2019版高考生物一轮总复习 必修2 第1章 遗传因子的发现 2.1.2 课
- 碳酸钙填充塑料
- 四年级英语Unit1-Unit2测试题 - 图文
- Photoshop打造MM照片梦幻光影效果
- 政府采购管理案例