嵌入式系统原理及应用第三章习题
孟祥莲嵌入式系统原理及应用教程部分习题答案

习题1 1.嵌入式系统的概念的是什么?答:嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
(嵌入式系统是嵌入式到对象体系中的,用于执行独立功能的专用计算机系统。
)2.嵌入式系统的特点是什么?答:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;具有固化在非易失性存储器中的代码嵌入式系统开发和工作环境4.嵌入式系统的功能是什么?答:提供强大的网络服务小型化,低成本,低功能;人性化的人机界面;完善的开发平台5.嵌入式系统的硬件平台由哪些部分组成?答:嵌入式系统的硬件是以嵌入式处理器为核心,由存储器I/O 单元电路,通信模块,外部设备必要的辅助接口组成的。
7. 嵌入式操作系统的主要特点是什么?答:体积小;实时性;特殊的开发调试环境。
8. 叙述嵌入式系统的分类。
答:按嵌入式微处理器的位数分类可以分为4 位、8 位、16 位、32 位和64 位等;按软件实时性需求分类可以分为非实时系统(如PDA),软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统)按嵌入式系统的复杂程度分类可以分为小型嵌入式系统,中型嵌入式系统和复杂嵌入式系统。
习题2处理器和工作状态有哪些?答:ARM状态:此时处理器执行32 位的的字对齐的ARM指令。
Thumb状态:此时处理器执行16 位的,半字对齐的Thumb指令2. 叙述ARM9内部寄存器结构,并分别说明R13、R14、R15寄存器的作用。
答:共有37 个内部寄存器,被分为若干个组(BANK),这些寄存器包括31个通用寄存器,包括程序计数器(PC指针)6 个状态寄存器。
R13用作堆栈指针,R14称为子程序链接寄存器,R15用作程序计数器。
处理器的工作模式有哪些?答:用户模式:ARM处理器正常的程序执行状态。
快速中断模式:用于高速数据传输或通道处理外部中断模式:用于通用中断处理管理模式:操作系统使用的保护模式数据访问终止模式:当数据或指令预期终止时进入该模式,可用于虚拟存储器及存储保护系统模式:运行具有特权的操作系统任务未定义指令终止模式:当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
嵌入式系统开发3章习题参考答案

思考题及习题1.写出5条指令,每条指令就源操作数而言,其寻址方式分别为:寄存器寻址、多寄存器寻址、立即数寻址、寄存器间接寻址、基址变址寻址。
寄存器寻址:ADD R0,R1,R2 多寄存器寻址:LDMIA R0,{R1-R4}立即数寻址:ADD R0,R0,#1 寄存器间接寻址:LDR R0,[R1]基址变址寻址:LDR R0,[R1,#-4]2. 若系统堆栈设置在数据区:0x2100000~x2100200范围内,分别说明以FA、FD、EA、ED方式组织堆栈,初始化时,R13所指向的地址单元。
FA:LDR R13,=0x20FFFFC; EA:LDR R13,=0x2100000;FD:LDR R13,=0x2100204; ED:LDR R13,=0x2100200;3.说明转移指令B L1”中的标号L1,在当前指令的什么范围内有效。
+/-32M4.说明转移指令“BX R0”的转移范围,R0取何值可转移到ARM指令处、R0取何值可转移到THUMB指令处。
Rn[0]=0,转移到ARM指令处;Rn[0]=1,转移到THUMB指令处。
5.编程实现:若R0=0,则转移到标号L0处;若R0=1,则转移到标号L1处;若R0=2,则转移到标号L2处,否则不转移。
CMP R0,#0BEQU L0CMP R0,#1BEQU L1CMP R0,#2BEQU L26.除了转移指令“B、BX”外,还有什么指令可实现程序的转移,举例说明。
MOV R15,R07.编程实现:100+101+102+…+200,其和存于R0。
mov r0,#100 ;需要相加100次mov r1,#100 ;最初的和为1mov r2,#101 ;最初的加数为101l1 add r1,r1,r2 ;和+加数add r2,r2,#1 ;加数+1subs r0,r0,#1 ;调整循环相加次数bne l1 ;循环相加次数不为0,则循环进行end8.如何实现128位数的减法,举例说明。
嵌入式系统原理及应用课后答案

嵌入式系统原理及应用课后答案嵌入式系统是一种专门针对特定应用领域设计的计算机系统,它通常被嵌入到其他设备中,用于控制设备的特定功能。
嵌入式系统具有体积小、功耗低、性能高、成本低等特点,广泛应用于消费类电子产品、工业控制、汽车电子、医疗设备等领域。
本文将从嵌入式系统的原理及应用方面展开讨论,并提供课后答案供学习者参考。
嵌入式系统的原理主要涉及到硬件和软件两个方面。
在硬件方面,嵌入式系统通常采用专用的微处理器或微控制器作为核心处理器,配合外围设备和接口电路,构成一个完整的系统。
而在软件方面,嵌入式系统的设计通常采用实时操作系统,以保证系统对外部事件的及时响应和处理能力。
此外,嵌入式系统的软件开发通常采用嵌入式开发工具,如编译器、调试器、仿真器等,以便开发人员能够方便地进行软件开发和调试工作。
在嵌入式系统的应用方面,它广泛应用于各种领域。
在消费类电子产品中,嵌入式系统被应用于智能手机、数码相机、家用电器等产品中,为这些产品提供了强大的功能和高效的性能。
在工业控制领域,嵌入式系统被应用于工业自动化设备、机器人、传感器等设备中,为工业生产提供了智能化的控制和监测能力。
在汽车电子领域,嵌入式系统被应用于发动机控制、车载娱乐、车载导航等系统中,提高了汽车的性能和安全性。
在医疗设备领域,嵌入式系统被应用于医疗影像设备、生命体征监测设备等产品中,为医疗诊断和治疗提供了可靠的技术支持。
针对以上内容,以下是嵌入式系统原理及应用的课后答案:1. 什么是嵌入式系统?它的特点是什么?嵌入式系统是一种专门针对特定应用领域设计的计算机系统,它通常被嵌入到其他设备中,用于控制设备的特定功能。
嵌入式系统的特点包括体积小、功耗低、性能高、成本低等。
2. 嵌入式系统的原理包括哪些方面?嵌入式系统的原理主要涉及到硬件和软件两个方面。
在硬件方面,嵌入式系统通常采用专用的微处理器或微控制器作为核心处理器,配合外围设备和接口电路,构成一个完整的系统。
嵌入式系统原理与应用习题答案

版权说明本文件中出现的任何文字叙述、文件格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属本人所有。
----WangYiwei由于我正在学习“嵌入式系统原理与应用——基于ARM微处理器和Linux操作系统”这门课程,网络上找不到课后习题答案。
因此本人通过认真地做习题,不懂百度,查阅相关书籍等途径,整理了一份答案,可供各位参考。
注意:答案并不一定完全正确,有异议的答案欢迎提出来大家一起探讨。
1.8 练习题P141.选择题(1)A说明:嵌入式系统的发展趋势表现在以下几方面:1.产品种类不断丰富,应用范围不断普及2.产品性能不断提高3.产品功耗不断降低,体积不断缩小4.网络化、智能化程度不断提高5.软件成为影响价格的主要因素(2)D说明:常见的嵌入式操作系统: VxWorks,Windows CE、uC/OS-II和嵌入式Linux。
(3)A说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。
2.填空题(1)嵌入式计算机(2)微处理器外围电路外部设备(3)板级支持包实时操作系统应用编程接口应用程序(4)嵌入式处理器微控制器数字信号处理器3.简答题(1)简述嵌入式系统的定义和特点答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。
(2)简述计算机系统的发展历程第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段;第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统;第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开始普及的阶段;第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。
(3)简述MCU和DSP的区别MCU是微控制器,DSP是数字信号处理器。
MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。
ARM3.2嵌入式系统原理第三章习题(2)2012

嵌入式系统原理第三章习题答案(2)20121 简述什么是ARM汇编语言中的伪操作、宏指令和伪指令?伪操作是ARM汇编语言程序里的一些特殊指令助记符,主要作用是为完成汇编程序做各种准备工作,在源程序进行汇编时由汇编程序处理,而不是在计算机运行期间由机器执行。
伪操作只在汇编过程中起作用,一旦汇编结束,伪操作的使命也随之结束。
宏指令是一段独立的程序代码,可以插在源程序中,通过伪操作来定义。
宏在被使用之前必须提前定义好。
宏之间可以互相调用,也可以自己递归调用。
宏定义本身不会产生代码,只是在调用它时把宏体插入到源程序中。
伪指令也是ARM汇编语言程序里的特殊指令助记符,也不在处理器运行期间由机器执行,它们在汇编时将合适的机器指令代替成ARM或Thumb指令从而实现真正指令操作。
2 请写出在Thumb状态下调用ARM状态下子程序的调用返回关键指令。
CODE 16…ADR LR, NEXTADR R0, ARMSUBBX R0NEXT MOV R1, #2…CODE 32ARMSUB…ADD LR, LR, #1BX LR3 请写出在主程序中调用子程序SUB1,SUB1中调用子程序SUB2,SUB2中调用子程序SUB3的调用返回关键指令。
其中主程序、子程序SUB1、SUB2、SUB3均在同种状态下。
…BL SUB1…SUB1 …STMFD SP!, {R0-R2,LR}BL SUB2…LDMFD SP!, {R0-R2,PC}SUB2 …STMFD SP!, {R0-R2,LR}BL SUB3…LDMFD SP!, {R0-R2,PC}SUB3 …MOV PC, LR4 用汇编语言完成对C语言全局变量的访问。
假设CVAR1和CVAR2是C语言中定义的全局变量,请用一段汇编语言访问它们,完成两者的相加运算,结果存放在CVAR1中。
答:AREA globals, CODE, READONLYEXPORT accesscvarIMPORT cvar1IMPORT cvar2ENTRYaccesscvarLDR R1, =cvar1LDR R2, =cvar2LDR R0, [R1]LDR R3, [R2]ADD R0, R0, R3STR R0, [R1]MOV PC, LREND5 编写一段程序,用内嵌汇编指令实现快速中断的使能和禁止。
嵌入式系统课后习题及答案

第1章嵌入式体系基本【1 】1.什么是嵌入式体系?它由哪几部分构成?有何特点?写出你所想到的嵌入式体系.答:(1)界说:国内对嵌入式体系的一般界说是:以运用为中间,以盘算机技巧为基本,软硬件可裁剪,从而可以或许顺应现实运用中对功效.靠得住性.成本.体积.功耗等严厉请求的专用盘算机体系.(2)构成:嵌入式处理器.外围装备.嵌入式操纵体系和运用软件等几部分构成.(3)特点:a.软硬件一体化,集盘算机技巧.微电子技巧.行业技巧于一体;b.须要操纵体系支撑,代码小,履行速度快;c.专用紧凑,用处固定,成本迟钝;d.靠得住性请求高;e.多样性,运用普遍,种类繁多.(4)嵌入式体系:小我数字助理(PDA).机顶盒(STB).IP德律风.2.嵌入式处理器分为哪几类?答:(1)低端的微控制器(MicroController Unit,MCU);(2)中高端的嵌入式微处理器(Embeded MicroProcessor Unit,EMPU);(3)通讯范畴的DSP处理器(Digital Signal Processor,DSP);(4)高度集成的片上体系(System on Chip,SoC).3.ARM英文原意是什么?它是一个如何的公司?其处理器有何特点?答:(1)英文原意:Advanced RISC Machines.高等精简指令集机械.(2)公司简介:该公司是全球领先的16/32位RISC微处理器常识产权设计供给商,经由过程将其高机能.低成本.低功耗的RISC微处理器.外围和体系芯片设计技巧让渡给合作伙伴来临盆各具特点的芯片.ARM公司已成为移动通讯.手持装备.多媒体数字花费嵌入式解决计划的RISC尺度.(3)其处理器特点:a.小体积.低功耗.低成本而高机能;b.16/32位双指令集;c.全球的合作伙伴浩瀚.4.什么是及时体系?它有哪些特点?若何分类?答:(1)及时体系的界说:及时体系(Real Time System)是指产生体系输出的时光对体系至关重要的体系.(2)特点:及时性.并行性.多路性.自力性.可猜测性.靠得住性.(3)分类:依据响应时光的不合,及时体系可分为3种类型:强及时体系.弱及时体系.一般及时体系.依据肯定性的不合,及时体系可分为2种类型:硬及时.软及时.5.RTOS由哪几部分构成?它有哪些特点?与一般操纵体系比拟有何不合?答:(1)构成:及时内核.收集组件.文件体系.图形用户界面.(2)特点:a.支撑异步事宜的响应;b.中止和调剂义务的优先级机制;c.支撑抢占式调剂;d.肯定的义务切换时光和中止延迟时光;e.支撑同步.(3)与一般OS的不合:a.及时性:响应速度快,只有几微秒;履行时光肯定,可猜测;b.代码尺寸小:只有10~100KB,节俭内存空间,下降成本;c.运用程序开辟较难;d.须要专用开辟对象:仿真器.编译器和调试器等.6.单片机体系.嵌入式体系和SOC体系三者有何差别和接洽?答:(1)今朝嵌入式体系的主流是以32位嵌入式微处理器为焦点的硬件设计和基于及时操纵体系(RTOS)的软件设计;(2)单片机体系多为4位.8位.16位机,不合适运行操纵体系,难以进行庞杂的运算及处理功效;(3)嵌入式体系强调基于平台的设计.软硬件协同设计,单片机大多采取软硬件流水设计;(4)嵌入式体系设计的焦点是软件设计(占70%阁下的工作量),单片机体系软硬件设计所占比例基底细同.(5)SoC是嵌入式体系的最高实现情势,它集成了很多功效模块,它的焦点技巧是IP(Intellectual Property Core,常识产权核)核.7. 无第2章嵌入式体系开辟进程1.嵌入式体系开辟进程分为哪几个阶段?每个阶段的特点是什么?答:(1)需求剖析阶段:a.对问题的辨认和剖析;b.制订例格解释文档;c.需求评审.(2)设计阶段:a.数据流剖析;b.划分义务;c.界说义务间的接口.(3)生成代码阶段:a.代码编程;b.交叉编译和链接;c.交叉调试;d.测试.(4)固化阶段2.嵌入式体系有哪几种调试方法?如今最风行的是哪种?运用什么接口?答:(1)调试方法:源程序模仿器方法.监控器方法.仿真器方法.(2)如今最风行的是仿真器方法,运用JTAG(Joint Test Action Group,结合测试行为组)接口.3.什么是板级支撑包?它一般应完成哪些工作?答:(1)界说:有些嵌入式操纵体系的内核明白分为两层,上层一般称为“内核”,而底层则称为“硬件抽象层”或“硬件适配层”,缩写为HAL,有的厂商将硬件抽象层称为BSP,即板级支撑包(BoardSupport Package).(2)重要完成工作:a.在体系启动时,对硬件进行初始化.B.为驱动程序供给拜访硬件的手腕.(3)重要感化:清除硬件差别.第3章 ARM体系构造1.ARM的英文全名是什么?ARM处理器有什么特点?答:见第1章课后习题第3题.2.ARM7和ARM9在流水线方面有何不合?答:ARM7是3级流水线构造,ARM9是5级流水线构造.AR]M9把3级流水线中的履行阶段的操纵进行再分派,即把履行阶段中的“存放器读”插在译码阶段中完成,把“存放器写”安插在另一级(即第5级)完成,同时,在该级之前,再安插一级(存储拜访).3.ARM处理器支撑的数据类型有哪些?答:(1)Byte 字节,8位;(2)Halfword 半字,16位;(3)Word 字,32位;4.写出ARM运用的各类工作模式和工作状况.答:(1)工作模式:详见下表:(2)工作状况:a.ARM:32位,这种状况下履行字对齐的ARM指令;b.Thumb:16位,这种状况下履行半字对齐的Thumb指令.5.ARM处理器总共有若干个存放器?个中哪个用做PC?哪个用做LR?答:(1)ARM处理器总共有37个存放器:31个通用存放器,6个状况存放器. (2)R15用做程序计数器PC,R14用做子程序链接存放器LR.6.假设R0=0x12345678,运用将R0存储到0x4000的指令存到存储器中,若存储器为大端组织,写出从存储器0x4000处加载一个字节到R2的指令履行后R2的值.答:因为0x4000是大端组织,所以R0存进后,0x4000中稀有0x56781234,从0x4000加载一个字节到R2后(由地位到高位加载),R2的值为0x34. 7.ARM920T处理器参加了哪两个协处理器?各自的重要功效是什么?答:ARM920T处理器参加了两个协处理器:(1)CP14,许可软件拜访调试通讯通道;(2)体系控制协处理器CP15,供给了一些附加存放器用于设置装备摆设和控制Caches.MMU.呵护体系.时钟模式和其他体系选项.8.ARM920T支撑哪些时钟模式?答:快速总线模式.同步模式.异步模式.9.什么是写直达和写回Cache操纵,各有何特点?答:(1)写直达:当CPU对Cache写射中时,Cache与主存同时产生写修正.长处:一致性好;缺陷:耗时.(2)写回:当CPU对Cache写射中时,只修正Cache的内容而不立刻写入主存,只当此履行被换出时才写回主存.长处:削减拜访主存次数,进步效力.缺陷:一致性差点.10.ARM为何集成了32位的ARM指令集和16位的Thumb指令集?(即它的利益)答:可供给长的转移规模.壮大的算术运算才能和大的寻址空间.11.什么是big-endian和little-endian,编写一段程序测试你所用的盘算机体系构造采取哪种存储机制?答:(1)大端存储体系(big-endian):低地址存放高字节,高地址存放低字节.小端存储体系(little-endian): 低地址存放低字节,高地址存放高字节.(2)int x=0x12345678;int *p=&x;if(*(char*)p=0x78)…little endianelse…big endian第4章 ARM体系硬件设计基本1.一个典范的可履行映像由哪几部分构成?答:2.汇编和C说话的互相挪用办法.答:(1)汇编程序挪用C程序的办法为:起首在汇编程序中运用IMPORT伪指令事先声明将要挪用的C说话函数;然后经由过程BL指令来挪用C函数.(2)C程序挪用汇编子程序的办法为:起首在汇编程序中运用EXPORT伪指令声明被挪用的子程序,暗示该子程序将在其他文件中被挪用;然后在C程序中运用extern症结字声明要挪用的汇编子程序为外部函数. (填补)3.基于ARM的硬件启动流程?答:(1)分派中止向量表;(2)初始化存储器体系;(3)初始化各工作模式下的客栈;(4)初始化有特别请求的硬件模块;(5)初始化用户程序的履行情况;(6)切换处理器的工作模式;(7)挪用主运用程序.第5章基于S3C2410的体系硬件设计1.温习控制:P230 I/O口编程实例.填补:2.中止的处理流程?答:(1)保管现场;(2)模式切换;(3)获取中止源;(4)中止处理;(5)中端返回,恢复现场.3.中止存放器的感化及相干的操纵?P235-237.。
嵌入式系统课后习题-部分答案(PDF)

第一章1-1.简述嵌入式系统的定义。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
1-2.简述嵌入式系统的组成。
从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。
其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。
嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。
嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM 、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。
1-3.ARM7处理器使用的是(ARMv4)指令集。
ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。
内核有一条3级流水线,执行ARMv4指令集。
1-6.ARM9采用的是(5)级流水线设计。
存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。
第二章2-1.简述ARM可以工作在几种模式。
ARM处理器共有7种工作模式:用户模式(User)、快速终端模式(FIQ)、外部中断模式(IRQ)、特权模式(svc)、数据访问中止模式(Abort)、未定义指令中止模式(Undef)、系统模式(System)。
除用户模式外其他6种模式称为特权模式。
在特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换。
再除去系统模式,其余5种模式又称为异常模式。
2-2.ARM核有多少个寄存器?ARM处理器有如下37个32位长的寄存器:(1)30个通用寄存器;(2)6个状态寄存器:1个CPSR(Current Program Status Register,当前程序状态寄存器),5个SPSR(Saved Program Status Register,备份程序状态寄存器);(3)1个PC(Program Counter,程序计数器)。
嵌入式系统原理与应用实验指导书(合稿+习题)

嵌入式系统原理与应用实验指导书南航金城学院2013.2目录目录 (1)第一部分试验箱硬件结构 (2)第二部分实验 (11)实验一ADS1.2集成开发环境练习 (11)实验二汇编指令实验1 (17)实验三汇编指令实验2 (20)实验四汇编指令实验3 (23)实验五ARM微控制器工作模式实验 (28)实验六 C语言程序实验 (33)实验七 C语言调用汇编程序实验 (36)实验八GPIO输出控制实验 (39)实验九GPIO输入实验 (46)实验十外部中断实验 (50)实验十一UART通讯实验 (56)实验十二I2C接口实验 (64)实验十三定时器实验 (75)实验十四PWM DAC实验 (81)实验十五ADC实验 (87)实验十六RTC实验 (94)实验十七步进电机控制实验 (101)实验十八直流电机控制实验 (105)附录1 DeviceARM2410 专用工程模板 ..................................................... 错误!未定义书签。
第一部分试验箱硬件结构MagicARM2410教学实验开发平台是一款可使用μC/OS-II、Linux和WinCE操作系统、支持QT、MiniGUI图形系统、集众多功能于一身的ARM9教学实验开发平台。
采用Samsung公司的ARM920T内核的S3C2410A微处理器,扩展有充足的存储资源和众多典型的嵌入式系统接口。
MagicARM2410实验箱参考如图1.1所示。
图1.1 MagicARM2410实验箱外观图MagicARM2410实验箱功能框图如图1.2所示。
图1.2 MagicARM2410实验箱功能框图1.1 S3C2410A芯片简介S3C2410A是Samsung公司推出的16/32位RISC处理器(ARM920T内核),适用于手持设备、POS机、数字多媒体播放设备等等,具有低价格、低功耗、高性能等特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章软件作业习题
3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。
解:
AREA procedure3,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,=0x400800
MOV R7,#200
LOOP LDRB R2,[R0],#1
STRB R2,[R1],#1
SUBS R7,R7,#1
BNE LOOP
CEASE
B CEASE
END
4、编写程序,比较存储器中0x400000与0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。
解:
AREA procedure4,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,[R0],#4 ;取第1个数
LDR R2,[R0],#4 ;取第2个数
CMP R1,R2 ;将两个数相比较
MOVHI R1,#1 ;R1比R2大
MOVLO R1,#-1 ;R1比R2小
MOVEQ R1,#0 ;两个数相等
STR R1,[R0]
CEASE
B CEASE
END
5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。
解:
AREA procedure5,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
MOV R1,#0
LOOP LDRB R2,[R0,R1]
CMP R2,#0x61 ;与‘a’比较
BLO NEXT ;小于转到NEXT
CMP R2,#0x7B ;0x7A为‘z’
SUBLO R2, R2,#0x20 ;小于转换
STRBLO R2,[R0,R1] ;小于保存
NEXT
ADD R1,R1,#1
CMP R1,#100
BNE LOOP
CEASE
B CEASE
END
6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。
解:
AREA procedure6,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
MOV R7,#100 ;控制循环变量
MOV R1,#0 ;保存0的数目
LOOP
LDR R2,[R0],#4 ;取数
CMP R2,#0 ;比较为0
ADDEQ R1,R1,#1 ;为0加1
SUBS R7,R7,#1 ;修改控制变量
BNE LOOP
STR R1,[R0] ;保存0的数目
CEASE
B CEASE
END
7、编写一程序,存储器中从0x400200开始有一个64位数。
(1)将取反,再存回原处;
(2)求其补码,存放到0x400208处。
解:
AREA procedure7,CODE,READONLY
ENTRY
CODE32
START
LDR R0,=0x400200
LDR R2,=0xFFFFFFFF
LDR R1,[R0] ;取低32位数
EOR R1,R1,R2 ;取反
STR R1,[R0] ;存低32位反码
ADDS R1,R1,#1 ;又加1为求补
STR R1,[R0,#8] ;存低32位补码
LDR R1,[R0,#4] ;取高32位数
EOR R1,R1,R2 ;取反
STR R1,[R0,#4] ;存高32位反码
ADC R1,R1,#0 ;高32位求补
STR R1,[R0,#12] ;存高32位补码
CEASE
B CEASE
END
8、编写一简单ARM汇编程序段,实现1+2+…+100的运算。
解:
AREA procedure8,CODE,READONLY
ENTRY
CODE32
START
MOV R2,#100
MOV R1,#0
LOOP
ADD R1,R1,R2 ;R1中为累加与 SUBS R2,R2,#1 ;R2控制循环
BNE LOOP
CEASE
B CEASE
END。