ARM基础指令练习题汇总
ARM基础指令练习题汇总
ldr r0,=_a ldr r1,=_b ldr r2,[r0] ldr r3,[r1]
wenku.baidu.com_loop
cmp r2,r3 beq _store subhi r2,r2,r3 sublo r3,r3,r2 b _loop
_store str r2,[r0] str r3,[r1] stop b STOP END
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,0
• 5. 内存数据区定义如上。要求将数据从
源数据区复制到目标数据区。复制时, 以8个字为单位进行。对于最后所剩不足 8个字的数据,以字为单位进行复制。
3、循环程序设计
• 例:计算1+2+3+...+100的结果
sum=0; for(i=0; i<100; i++ ) sum=sum+i;
• 答案: • AREA Reycle, CODE, READONLY • ENTRY • MOV R1,#1 • MOV R2,#100 • START • ADD R3,R3,R1 • ADD R1,R1,#1 • CMP R1,#101 • BNE START • STOP • B STOP • END
ARM软件试题库及答案
嵌入式软件助理工程师认证考试试题题库
一、单项选择题 (1)
二、多项选择题 (28)
三、填空题 (28)
四、判断题 (30)
五、简答题 (32)
六、阅读程序题 (45)
七、应用实践题 (49)
一、单项选择题
1、如下哪一个命令可以帮助你知道shell命令的用法( A )
A. man
B. pwd
C. help
D. more
2、Linux分区类型默认的是:( B )
A. vfat
B. ext2/ext3
C. swap
D. dos
3、在大多数Linux发行版本中,以下哪个属于块设备( B )
A. 串行口
B. 硬盘
C. 虚拟终端
D. 打印机
4、下面哪个命令行可用来马上重新启动正在运行的Linux系统?( D )
A. restart --delay=0
B. reboot -w
C. halt -p
D. shutdown -r now
5、在Linux系统,默认的shell是什么( A )
A.bash
B.ash
C.csh
D.gnush
6、下面哪条命令可用来确保文件“myfile”存在( B )
A. cp myfile /dev/null
B. touch myfile
C. create myfile
D. mkfile myfile
7、 LILO的配置文件是:( B )
A. /etc/conf
B. /etc/lilo.conf
C. /proc/kcore
D. /usr/local/
8、用“useradd jerry”命令添加一个用户,这个用户的主目录是什么( A )
A./home/jerry
B./bin/jerry
ARM-----选择题----参考答案
二、选择题:
1.相对于ARM指令集,Thumb指令集的特点是_B__。
A、指令执行速度快
B、16位指令集,可以得到密度更高的代码,对于需要严格控制成本的设计非常有意义
C、Thumb模式有自己独立的寄存器
D、16位指令集,代码密度高,加密性能好
2.在ARM寄存器结构中,栈指针使用__B__寄存器。
A、R0
B、R13
C、R14
D、R15
3.在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法? C
A、直接修改CPU状态寄存器(CPSR)对应的模式
B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态
C、使用软件中断指令(SWI)
D、让处理器执行未定义指令
4.嵌入式系统加电或复位后,所有的CPU 通常都从某个由CPU 制造商预先安排的地址上取指令。例如:对于S3C2410来说,Boot Loader会映射到__A____地址处。
A 0x0c000000
B 0x00000000
C 0x00000018
D 0x40000018
5.32位体系结构的ARM处理器有____种不同的处理器工作模式,和____个主要用来标识CPU工作状态和程序运行状态的状态寄存器。(A)
A、7、7
B、7、6
C、6、6
D、6、7
6.CPSR中的低8位称为控制位,下列不属于控制位的是__A__。
A、N(标志位)
B、I
C、F
D、T
7.ARM7属于A结构,ARM9属于B结构。
A、冯.诺依曼
B、哈佛
8.ARM7是C级流水线,ARM9是D级流水线。
A、1
B、2
ARM练习题
简答题
什么是嵌入式操作系统
答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁减,功能。可靠性,成本,体积,功耗要求严格的专用计算机系统。
与通用计算机相比,嵌入式系统有哪些特点
答:(1).嵌入式系统通常是面向特定应用的;
(2).嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科;
(3).嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期;
(4).为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中;
(5).嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。
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]
多寄存器寻址:一条指令可以完成多个寄存器值的传送。例如:
ARM课后习题及答案_百度文库.
第一章思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。嵌入式微处理器(Embedded Microprocessor Unit, EMPU 嵌入式微控制器(Microcontroller Unit, MCU 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP 嵌入式片上系统(System On Chip 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。需求风险;时间风险;资金风险;项目管理风险 3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。 4、何谓系统规划?为何要做系统规划系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。 5、为什么在项目结束前需要进行项目讨论?项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录下来,也就是说,这是一个撰写项目历
ARM知识复习题(带参考答案)
ARM知识复习题(带参考答案)
请在正确的选项后点击,错选、多选、少选或不选均不得分。
1.[单选题]ARM的全称是什么? A
A:Advanced RISR Machines
B:A Run Machine
C:Advanced Research Man
D:Addressed Red Middle
2.[单选题]ARM芯片采用什么样的体系结构?A
A:RISC
B:CISC
C:x86
D:MIPS
3.[单选题]ARM的指令执行靠什么驱动? A
A:流水线
B:微代码
C:电容放电
D:电磁感应
4.[单选题]ARM使用什么样的总线协议? A
A:AMBA
B:CAN
C:1553b总线
D:TCP/IP
5.[单选题]ARM采用多少位的体系结构? B
A:64位
B:32位
C:16位
D:8位
6.[单选题]根据ARM命名规则,ARM7TDMI的D代表什么意思?A
A:debug
B:支持Thumb指令
C:多媒体处理
D:支持Jazelle加速
7.[单选题]根据ARM命名规则,ARM7TDMI的T代表什么意思?B
A:debug
B:支持Thumb指令
C:多媒体处
D:支持Jazelle加速
8.[单选题]Intel生产的ARM芯片叫什么? D
A:PowerPC
B:MIPS
C:Firecold
D:xscale
9.[单选题]ARM体系结构中共有多少个物理寄存器? A
A:37个
B:10个
C:12个
D:72个
10.[单选题]ARM使用那个寄存器存放程序的返回地址? A
A:R14
B:r12
C:cpsr
D:spsr
11.[单选题]用户模式下的可见通用寄存器个数为多少个? B
ARM9复习题
077本嵌入式系统复习题
第一章
习题:1---6
第二章
ARM9异常响应过程(进入异常)执行哪些操作。
习题:1、2、6、7、8、9、15
第三章
{
1、ARM9有哪些条件码各个条件码的符号及意义。(比较常用的应该会)
2、ARM9有哪些寻址方式
3、ARM9指令集分为哪几种类型各类有哪些指令(可以不考虑协处理器指令)
4、ARM9伪指令有哪些
习题:1、2、3、6、8
第四章
习题(概念):1、2、3、10、12、15
其中第3题改为:S3C2410的存储空间由哪几部分构成,各部分有什么特点。
习题(编程):11、16、
"
第五章
习题:1、2、4、5、6、8、16、20、22、24
第20题改为:常用的嵌入式文件系统有哪些。
第六章
1、中断注册函数和注销函数中参数的含义。
2、参考LED驱动程序,编写一从E口输出数据(16位)的驱动程序,以及驱动程序的测试程序。
习题:1、3、4、7
'
第一章
1.什么是嵌入式系统
答:嵌入式系统:“以应用为中心,以计算机技术为基础,软硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统”。
2.比较嵌入式系统与通用PC机的区别。
答:(1)通用计算机沿着“高运算速度、高存储量”方向发展,因此,通用微处理器是沿着以Intel 公司产品为主导的8086、80286、80386、80486、Pentium、Pentium II、Pentium III、Pentium
4的路线发展,其主频从几MHz发展到现在的3GHz,字长从8位发展到64位,内存从几十KB到现在的GB,存储容量从从几十KB到现在的数百GB。(2)嵌入式系统根据应用的要求,沿着“体积小、低功耗、高可靠”方向发展,对运算速度、存储容量没有统一要求。三要素:嵌入、专用、计算机。
ARM习题
一、
1、某文件属性显示为 drwxr-xr-x,则该文件是( A )。
A、目录文件
B、普通文件
C、链接文件
D、管道文件
2、在linux中,通常作为用户工作目录的是( C )。
A、 /boot
B、/etc
C、 /home
D、/bin
3、下列命令中,用于显示系统进程列表的命令是( D )。
A、 locate
B、mv
C、 cat
D、ps
4、表示目标文件的扩展名一般是( B )。
A、.c
B、 .o
C、 .h
D、 .i
5、在Makefile的工程管理中,( C )表示第一个依赖文件的名称。
A、 $*
B、$+
C、$<
D、 $?
6、以下不属于嵌入式系统特点的是 B 。
A 、不具备二次开发能力
B 、面向通用应用 C、软硬件裁剪 D、软件固化于芯片
7、对嵌入式板进行在线交叉调试(ICD方式),所使用的连接接口方式为( D )。
A、USB
B、网络接口
C、串口
D、 JTAG
8、linux与开发板串行调试方式中,所使用到的工具软件是( A )
A、 minicom
B、超级终端
C、arm-linux-gcc
D、 gdb
9、在Linux内核源代码中,与处理器体系结构有关的子目录是( C )。
A、/include
B、/init
C、/arch
D、drivers
10、下列文件系统,不是嵌入式系统的文件系统格式的是( B )
A、cramfs
B、ntfs
C、romfs
D、jffs
11、以下属于Linux文件系统格式的是( A )
A、EXT3
B、FAT
C、FAT32
D、NTFS
12、某文件属性显示为–rwxr-xr-x,则该文件是( B )。
ARM复习课后题答案(完整版)
1.国内嵌入式系统行业对嵌入式系统的定义是什么?如何理解
答:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
从这个定义看以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统要求进行合理的裁剪利用。因此有人把嵌入式系统比作是一个针对特定的应用而量身定做的专用计算机系统。
2.当前最常见的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点
答:嵌入式linux和嵌入式实时操作系统uc/os-II
Linux:
(1)linux是源码开放的,每一个技术细节都是透明的,易于裁剪定制。
(2)目前嵌入式linux已经在多种嵌入式处理器芯片移植成功,有大量且不断增加的开发工具,这些工具为嵌入式系统开发提供了良好的开发环境。
(3)Linux内核小、功能强大、运作稳定、效率高。
Ucos:
(1)源代码公开
(2)可移植性。
(3)可固化
(4)可裁剪
(5)占先式
(6)多任务
(7)可确定性。
(8)系统服务
第2章ARM技术与ARM体系结构
3.arm处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处理器在什么情
况下进入相应的模式。
答:ARM 处理器共有7 种工作模式:
用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式
下执行。在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作
模式,如果有异常发生,处理器会自动切换工作模式
FIQ 模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优
ARM嵌入式系统结构与编程习题答案(全)
ARM嵌入式系统结构与编程习题答案(全)《arm嵌入式系统结构与编程》习题答案
第一章绪论
1.国内嵌入式系统行业对“嵌入式系统”的定义就是什么?如何认知?
答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,
软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机
系统。从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须
结合实际系统需求进行合理的剪裁利用。因此有人把嵌入式系统比作是一个针对特定的应
用而“量身定做”的专业计算机系统。
2.嵌入式系统从何时产生的,详述其发展历程。
答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的
大规模应用,嵌入式系统已经有了30多年的发展历史。
嵌入式系统的发生最初就是基于单片机的。intel公司1971年研发出来第一片具备4
十一位总线结构的微处理器4004,可以说道就是嵌入式系统的原始社会阶段。80年代初
的8051就是单片机历史上难忘的一页。20世纪80年代早期,发生了商业级的“实时操作系统内核”,在实时内核下撰写应用软件可以并使新产品的沿着更慢,更节省资金。20世纪90年代实时内核发展为实时多任务操作系统。步入21世纪以来,嵌入式系统获得了很
大的发展。在硬件上,mcu的性能获得了很大的提高,特别就是arm技术的发生与健全,
为嵌入式操作系统提供更多了功能强大的硬件载体,将嵌入式系统推至了一个崭新的阶段。
3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。答:主要有嵌入式linux和嵌入式实时操作内核uc/os-ii
嵌入式系统_arm_试题
嵌入式系统_arm_试题
一、选择题
1、以下说法不正确的是(B )。
A、任务可以有类型说明
B、任务可以返回一个数值
C、任务可以有形参变量
D、任务是一个无限循环
2下列描述不属于RISC计算机的特点的是(C)。
A(流水线每周期前进一步。 B(更多通用寄存器。
C(指令长度不固定,执行需要多个周期。
D(独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 3 存储一个32位数0x2168465到2000H,2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。
A、0x21
B、0x68
C、0x65
D、0x02
4 μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D) A. 先CLI、执行关键代码、再STI
B. 先STI、执行关键代码、再CLI
C. 先POPF、CLI、执行关键代码、再PUSHF
D. 先PUSHF、CLI、执行关键代码、再POPF。
5 RS232-C串口通信中,表示逻辑1的电平是(D )。
A、0v
B、3.3v
C、,5v,,15v
D、,5v,,15v 6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。
A. R0 = R2 + (R3 << 1)
B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1)
D. (R3 << 1)= R0+ R2 7 IRQ中断的入口地址是
指令练习(1)
MOV指令练习
1.将1234H赋给CX
MOV CX,1234H
2.将BH的内容设置成和BL相同。
MOV BL,BH
3.执行MOV AL,-5H后,AL里是什么内容?(二进制表示) 11111011
4.将DL里的内容存到1000H单元。
MOV [1000H],DL
5.将地址为1000H的存储单元里的字节内容拷贝到地址为2000H单元。MOV DH,[1000H]
MOV [2000H],DH
6.将地址为1000H的存储单元里的字内容拷贝到地址为2000H单元。MOV SI,[1000H]
MOV [2000H],SI
7.将DS的值赋给ES。
MOV AX,DS
MOV ES,AX
8.将1234H赋给DS。
MOV BX,1234H
MOV DS,BX
9.将66H(字节)赋给地址为2000H的单元。
MOV BYTE PTR [2000H],66H
10.将66H(字)赋给地址为3000H的单元。
MOV WORD PTR [3000H],66H
二.堆栈指令练习PUSH POP
1.将AX入栈。
PUSH AX
2.将1000H单元里的内容入栈。
PUSH [1000H]
3.将AL入栈。
PUSH AX
4.将1234H入栈。
MOV AX,1234H
PUSH AX
5.将出栈数据存入BX。
POP BX
6.将出栈数据存入20H单元。
POP [20H]
7.用三种方法实现将AX、BX数据交换。
a. .MOV CX,AX
MOV AX,BX
MOV BX,CX
b. PUSH AX
PUSH BX
POP AX
POP BX
c. XCHG AX,BX
ARM完整复习题及答案
嵌入式系统设计复习资料
注意:因为参考答案填空老师没有给电子版,只是上课听的,难免会有听错,
请大家指出错误。
一填空题
1.ARM内核有四个功能模块,即___T___、___D___、___M___、____I__,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
3.ARM芯片主要封装有___QFP___、___TQFP___、___PQFP___、___LQFP___、___BGA___、____LBGA__等形式。
4.ARM微处理器共有___37___个___32___位寄存器,其中____31__个为通用寄存器,____6__个为状态寄存器。
5.ARM体系结构可用两种方法存储字数据,具体为___大端存储格式__、___小端存储格式___。
6.协处理器主要控制:___片内MMU___、___指令和数据缓存(IDC)___、___写缓冲(Write Buffer)___。在逻辑上,ARM可以扩展16 个协处理器。
7.ARM微处理器在较新的体系结构中支持两种指令集:___ARM指令___、___Thumb指令___,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态。
8.在CPSR中M[4:0]表示模式位,其中10111表示中止模式,在异常类型中,中止又分为预取址中止和数据中止。
9.ARM处理器有9种基本寻址方式,分别是:___寄存器寻址___、___立即寻址___、___寄存器移位寻址___、____寄存器间接寻址__、__变址寻址____、___多寄存器寻址___、___堆栈寻址___、___块复制寻址___、___相对寻址___。
ARM指令练习题
ARM指令练习题
1.已知R0=8,R2=5,执行MOV R0,R2,LSL #2后,r0=?,r2=?
2.已知r0=0x00000000,r1=0x00009000,
men32[0x00009000]=0x01010101,mem32[0x00009004]=0x02020202 问执行以下指令后,r1,r0的情况
1)ldr r0,[r1,#0x4]!
2)Ldr r0, [r1,#0x4]
3)Ldr r0,[r1], #0x4
3.已知men32[0x80018]=0x03,
men32[0x80014]=0x02,
men32[0x80010]=0x01,r0=0x00080010,
r1=0x00000000,r2=0x00000000,r3=0x00000000
问执行ldmia r0!,{r1-r3}后,r0,r1,r2,r3的情况
4.已知r1=0x00000002,r4=0x00000003,sp=0x00080014,
问执行stmfd sp!,{r1,r4}后, r1,r4,sp的情况
5.已知r0=0x0,cpsr=0xd3, 执行以下指令后r0的情况
MRS r0,cpsr
BIC r0,r0,#0x80
6.初始值R2=5,R3=4,R4=3,执行指令SUBS R2, R3,R4,LSR #2后,寄
存器R2,R3的值分别是多少?
7.R4内容是4000H,4000H (4字节对齐)开始向上依次存放数据1,2,3,
4,5,执行指令LDMIA R4!,{R0,R1,R2,R3}后,R1中数据是?
ARM硬件试题库及答案
嵌入式硬件助理工程师认证考试试题题库
一、选择题
1、以下说法不正确的是(B )。
A、任务可以有类型说明
B、任务可以返回一个数值
C、任务可以有形参变量
D、任务是一个无限循环
2、用图形点阵的方式显示一个16*16点阵汉字需要(B )字节。
A、8
B、32
C、16
D、64
3、下列描述不属于RISC计算机的特点的是(C)。
A.流水线每周期前进一步。
B.更多通用寄存器。
C.指令长度不固定,执行需要多个周期。
D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
4、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则
2000H存储单元的内容为( D)。
A、0x21
B、0x68
C、0x65
D、0x02
5、μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D)
A. 先CLI、执行关键代码、再STI
B. 先STI、执行关键代码、再CLI
C. 先POPF、CLI、执行关键代码、再PUSHF
D. 先PUSHF、CLI、执行关键代码、再POPF。
6、RS232-C串口通信中,表示逻辑1的电平是(D )。
A、0v
B、3.3v
C、+5v~+15v
D、-5v~-15v
7、ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。
A. R0 = R2 + (R3 << 1)
B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1)
ARM嵌入式期末考试题库精心整理版
1、智能物联网工程师群,免费共享100G学习资料
2、
3、qq群号码:538435543
4、
5、欢迎大家加入交流经验,互相学习分享
6、cortex-A8 中只有CP14和CP15 两种协处理器。CP14用来测试(test),CP15用作系
统控制.
7、cortex-A8中协处理器CP15是协助处理器做管理工作,属于A8内部。
8、cortex-A8的通用寄存器和状态寄存器属于A8内部的32位存储器。
9、跳转指令BL只能实现前后32M的小范围的跳转,使用“LDR PC,..”伪指令可以实
现大范围的跳转。大范围4G
10、汇编中用#注释(F)。@ 错误,是@符号注释
11、根据ATPCS标准,子程序间通过寄存器R0、R1、R2、R3来传递参数,如果参数
多余4个,则多出的部分用堆栈传递,返回值用R0传递。
12、寄存器R13用作数据栈指针,记作SP。
13、寄存器R14称为链接寄存器,记作LR,它用于保存子程序的返回地址。
14、寄存器R15是程序计数器,记作PC,不能用作其它用途。
15、汇编的优点是效率高,体积小。(对)
16、S5PV210内部对模块的管理是分区域管理的,分为那几个区域()、()、
()。
不清楚答案,查询得知,S5PV210由ARM内核、系统外围设备、存储器子系统、多媒体加速、电源管理、连接性模块等模块组成,p42
17、S5PV210内部有三条总线,他们是APB总线,频率100兆以下、AHB总线,200-100
兆、AXI总线。
18、S5PV210的AHB总线的工作频率范围是200M~100M。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本练习题是学习ARM基础指令之后的一 次汇总练习,欢迎学习嵌入式的同学交 流指导,切勿用于盈利传播,版权所有, 一经发现,违者必受法律严惩。
1、顺序程序设计
例:通过查表操作实现数组中的第1项数据和第5 项数据相加,结果保存到数组中 。
读取第1项数据 保存结果 读取第5项数据 结束 两项数据相加
Array
AREA DCD DCD DCD
Buf,DATA,READWRITE 0x11,0x22,0x33,0x44 0x55,0x66,0x77,0x88 0x00,0x00,0x00,0x00
;定义数据段Buf ;定义12个字的数组Array
Array
AREA Buf,DATA,READWRITE ;定义数据段Buf DCD 0x11,0x22,0x33,0x44 ;定义12个字的数组Array DCD 0x55,0x66,0x77,0x88 DCD 0x00,0x00,0x00,0x00 AREA Example,CODE,READONLY ENTRY CODE32 LDR R0,=Array ;取得数组Array首地址 LDR R2,[R0] ;装载数组第1项字数据给R2 MOV R1,#4 LDR R3,[R0,R1,LSL #2] ;装载数组第5项字数据给R3 ADD R2,R2,R3 ;R2 + R3→R2 MOV R1,#8 ;R1=8 STR R2,[R0,R1,LSL #2] ;保存结果到数组第9项 END
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,0
• 5. 内存数据区定义如上。要求将数据从
源数据区复制到目标数据区。复制时, 以8个字为单位进行。对于最后所剩不足 8个字的数据,以字为单位进行复制。
• 答案:
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • AREA CMP_subs,CODE,READONLY num EQU 20 ENTRY START LDR r0, =src LDR r1, =dst MOV r2, #num MOV sp, #0x400 Blockcopy MOVS r3,r2, LSR #3 BEQ copywords STMFD sp!, {r4~r11} Octcopy LDMIA r0!, {r4-r11} STMIA r1!, {r4-r11} SUBS r3,r3,#1 BEN Octcopy LDMFD sp!, {r4-r11} Copywords ANDS r2,r2,#7 BEQ STOP Wordcopy LDR r3, [r0],#4 STR r3, [r1],#4 SUBS 2,r2,#1 BEN Wordcopy AREA BlockData,DATA,READWRITE 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,0 END
ldr r0,=_a ldr r1,=_b ldr r2,[r0] ldr r3,[r1]
_loop
cmp r2,r3 beq _store subhi r2,r2,r3 sublo r3,r3,r2 b _loop
_store str r2,[r0] str r3,[r1] stop b STOP END
3、循环程序设计
• 例:计算1+2+3+...+100的结果
sum=0; for(i=0; i<100; i++ ) sum=sum+i;
• 答案: • AREA Reycle, CODE, READONLY • ENTRY • MOV R1,#1 • MOV R2,#100 • START • ADD R3,R3,R1 • ADD R1,R1,#1 • CMP R1,#101 • BNE START • STOP • B STOP • END
2、分支程序设计
• 例.判读X、Y两个变量的大小,从而给变量Z 赋予不同的值
变量X、Y赋值
//if-else结构
int x=76,y=88;
X>Y? Z = 50
Yes
Z = 100
No
结束
if(x>y) else
z=100; பைடு நூலகம்=50;
答案: • AREA Recyle_Just,CODE,READONLY • ENTRY • MOV R0,#32 • MOV R1,#46 • Loops • CMP R0,R1 • BEQ Next1 • CMP R0,R1 • BGT SSS • SUBS R1,R1,R0 • MOV R2,R1 • B Loops • SSS • SUBS R0,R0,R1 • MOV R2,R0 • B Loops • Next1 • END
• 4. C语言:
while (a!=b) { if(a>b) a-=b; else b-=a; }
• 如果用ARM汇编程序来实现,假设两个整数 分别放在寄存器R1和R2中。将结果放到R3中。
• 答案:
• • • • • • • • • • • • • • • • • • • • • • • • • • AREA buf,DATA,READWRITE _a dcd 0x10 _b dcd 0x06 AREA e4,CODE,READONLY ENTRY code32