ARM习题及答案
更新时间:2023-10-05 09:11:01 阅读量: 综合文库 文档下载
- arm考试题及其答案推荐度:
- 相关推荐
ARM习题
1.1 什么是嵌入式系统?
答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁减,功能。可靠性,成本,体积,功耗要求严格的专用计算机系统。
1.2 与通用计算机相比,嵌入式系统有哪些特点?
答:(1).嵌入式系统通常是面向特定应用的;
(2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科; (3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期;
(4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中;
(5).嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。
1.3 ARM处理器有几种寻址方式,说明各种寻址的方式。
答:
立即寻址:操作数直接放在指令中。例如:ADD R0,R0,#0x3f ;R0←R0+0x3f 寄存器寻址:操作数放在寄存器中。例如:ADD R0,R1,R2 ;R0←R1+R2 寄存器间接寻址:操作数在内存,以寄存器中的值作为操作数的地址。
例如:LDR R0,[R1] ;R0←[R1]
基址加偏移量寻址(基址变址寻址):基址寄存器的内容与指令中的偏移量相加形成操作数的有效地址 例如:LDR R0,[R1,#4] ;R0←[R1+4]
LDR R0,[R1,R2] ;R0←[R1+R2]
多寄存器寻址:一条指令可以完成多个寄存器值的传送。例如:
LDMIA R0,{R1,R2,R3,R4} ;R1←[R0];R2←[R0+4];R3←[R0+8];R4←[R0+12] 堆栈寻址:堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。
例如:STMFD R13!,{R0,R4-R12,LR}
LDMFD R13!,{R0,R4-R12,PC}
1.4举例介绍嵌入式处理器有哪几类?
答:1.嵌入式微处理器(Embedded Microprocessor Unit,EMPU);
2.嵌入式微控制器;(Embedded Microcontroller Unit,EMCU)
3.嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP);
4.嵌入式片上系统(Embedded System on Chip,EsoC);
1.5从硬件系统来看,嵌入式系统由哪几个部分组成?画出简图。
3.1编写1+2+3+***+100的汇编程序。
AREA EXAMPLE1, CODE,READONLY ;定义一个代码段,名称为EXAMPLE1 ENTRY ;入口
MOV R0,#0 ;给R0赋值为0
MOV R1,#0 ;用R1来存放1~100的总和,初始化为0 ADD R1,R1,R0 ;从1加到100
CMP R0,#100 ;执行R0-100的操作,但不保存,只影响CPSR的值 BLT START ;带符号数小于时跳转到START处执行
START ADD R0,R0,#1 ;用来判断终止的,每次加1
STOP B STOP ;死循环 END
3.2如何实现128位数的减法,请举例说明。
AREA EXAMPLE2,CODE,READONLY ENTRY
START
SUBS R5,R5,R9 SBCS R4,R4,R8 SBCS R3,R3,R7 SBCS R2,R2,R6 STOP
B STOP END
3.3将存储器中起始地址地址0X10处的4个字数据移动到地址0X20处。
AREA EXAMPLE2,CODE,READONLY ENTRY
LDR R0,=0X10 ;把地址0X10赋给R0
LDR R5,=0X20 ;把地址0X20赋给R5 START
LDMIA R0,{R1-R4} ;把R0为首地址的内存单元中的值依次赋给, ; R1到R4,每次赋完一次值,R0自动加1 STMIA R5,{R1-R4} ;把R1到R4的值依次赋给以R5为首地址的内
存单元中,R5每次自动加1
STOP
B STOP ;死循环
END
3.4参考CPSR寄存器中各标志位的含义,使处理器处于系统模式。
AREA EXAMPLE2,CODE,READONLY ENTRY
START
MOV R0,#0X1F ;给R0赋值,2进制为11111 MSR CPSR_c,R0 ;把CPSR的条件位置1 STOP
B STOP ;死循环 END
3.5用跳转指令实现两段程序间的来回切换。
AREA EXAMPLE5 ,CODE, READONLY ENTRY
BL X ;跳到a对R0,R1,赋值 START
CMP R0,R1 ;比较R0,R1的值 BNE Y ;不等跳转到b BEQ STOP ;相等时跳转到STOP X
MOV R0,#3 ;对R0,R1赋值 MOV R1,#2
MOV R15,R14 ;返回 Y ADD R1,R1,#1 ;R1自加1 B START ;跳转到START STOP
B STOP ;死循环 END
3.5 ARM调用 Thumb子程序例子
AREA ThumbSub, CODE, READONLY ; Name this block of code
ENTRY ; Mark first instruction to execute CODE32 ; Subsequent instructions are ARM header
ADR r0, start + 1 ; Processor starts in ARM state, BX r0 ; so small ARM code header used ; to call Thumb main program.
CODE16 ; Subsequent instructions are Thumb. start
MOV r0, #10 ; Set up parameters MOV r1, #3
BL doadd ; Call subroutine
stop
MOV r0, #0x18 ; angel_SWIreason_ReportException LDR r1, =0x20026 ; ADP_Stopped_ApplicationExit SWI 0xAB ; Thumb semihosting SWI doadd
ADD r0, r0, r1 ; Subroutine code
MOV pc, lr ; Return from subroutine. END ; Mark end of file
3.6字符串拷贝子程序,将r1指向的字符串拷贝到r0指向的地方,字符串以0作结束标志 AREA SCopy, CODE, READONLY
EXPORT strcopy
strcopy
; r0 points to destination string ; r1 points to source string
LDRB r2, [r1],#1 ; load byte and update address STRB r2, [r0],#1 ; store byte and update address; CMP r2, #0 ; check for zero terminator BNE strcopy ; keep going if not MOV pc,lr ; Return END
3.7、求两个数的最大值,并将最大值放R0寄存器
AREA MAX,CODE,READONLY ENTRY
START MOV R1,#0x16
M0V R2,#0x17 CMP R1,R2 MOVMI R0,R2
MOVPL R0,R1 STOP
B STOP END
3.8、循环实现数的递减,即每次减1。最终结果为0时退出循环。 AREA MAX,CODE,READONLY ENTRY START MOV R0,#10 LOOP SUBS R0,R0,#1 BNE LOOP STOP
B STOP END
3.9 、改下列C程序段代码为ARM汇编程序段代码。 void gcd( int a, int b) { while(a!=b)
if (a>b) a=a-b; else
b=b-a;
}
AREA MAX,CODE,READONLY ENTRY gcd
CMP R0,R1 BEQ STOP BLT Less
SUB R0,R0,R1 B STOP
Less SUB R1,R1,R0 STOP
B STOP End
4.1什么是伪指令和伪操作?在ARM汇编中有哪几种伪 指令?
答:在ARM汇编语言程序中有些特殊助记符,这些助记符与一般指令的助记符的不同之处在于没有相对应的操作码或者机器码,通常称这些特殊指令助记符卫伪指令,他们多完成的操作成为伪操作;
在ARM汇编中,有如下几种伪指令: (1)符号定义伪指令; (2)数据定义伪指令;
正在阅读:
ARM习题及答案10-05
《大学计算机基础》(第三版)上海交通大学出版社-课后习题答案精品资料10-05
旅游市场营销试卷03-02
人力资源管理复习题及参考答案04-23
励志演讲稿范文1000字04-17
电子测量技术课程答案05-27
他的成功不可能复制,但有迹可寻励志文章11-20
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 答案
- ARM
- 11号中考语文模拟试题
- 特殊教育课件 培二上 生活适应教案
- 塔式起重机操作人员岗前培训考试试题题目
- 河南科技大学 2012年硕士研究生入学考试试题答案及评分标准
- 浅谈高中数学中最值问题的常用解题方法(数学本科毕业论文)
- 二年级十二月份课外阅读知识竞赛试卷
- 2012呼和浩特驾校理论考试c1小车仿真试题
- 世界地理,杨青山
- 学生语法辅导(老师版)
- 云南师范大学人文地理学必背70简答题(陈世超)
- 《形式逻辑》(第二版)樊明亚主编 - - 练习题参考答案
- 南京师范大学硕士生导师名单
- 规模经济理论的发展
- 第三代移动通信综合练习题及答案 2
- 填空、判断、选择
- 空杯心态3分钟演讲
- 房地产集团公司企业文化建设工作操作指引
- 2011年全国中学生生物学联赛试题含答案
- 审势而谋 顺势而行 乘势而上 为实现永煤核心能力整体提升建功立业
- HSE监理方案