《嵌入式系统及应用开发复习资料.docx》由会员分享,可在线阅读,更多相关《嵌入式系统及应用开发复习资料.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1, ARM微处理器支持7种运行模式为usr, fiq , irq , svc , abt, sys , und。2, 目前主流的32位嵌入式微处理器芯片有ARM, MIPS和PowerPC等。3, 嵌入式微处理器的体系构造可以接受哈佛构造或冯诺依曼构造,指令系统可以选用RISC/精减指令集和CISC/困难指令集。4, AMBA定义了3组总线AHB/先进高性能总线, ASB/先进系统总线和APB/先进外围总线。5, S3C2410功耗管理的四种模式分别为正常模式, 慢速模式, 空闲模式和掉电模式。6, RS-232C的帧格式由四局部组成,包括:起始位, , 奇偶校验位和 。7, ARM系列微处
2、理器支持的边界对齐格式有: , 和字对齐。在宿主机上运用编译器软件将嵌入式应用, 嵌入式操作系统编译成为可以在 目标机 上运行代码的过程,称为 穿插编译 ,而接受的编译器称为穿插编译器。8, 一般来说,嵌入式操作系统中的任务具有就绪, 运行和堵塞三种根本状态。9, 在S3C2410A中及配置I/O口相关的存放器包括:端口限制存放器, 端口数据存放器, 端口上拉存放器, 杂项限制存放器和外部中断限制存放器。10, S3C2410的存储系统地址空间具有8个存储体,每个存储体可达128MB总容量可达1GB。11, 系统初始化过程依据自底向上, 从硬件到软件的次序依次可以分为片级初始化, 板级初始化和
3、系统级初始化 3个主要环节。12, 依据通常的分类方法,嵌入式软件可以分为系统软件, 应用软件, 和支撑软件三大类。13, 无操作系统的嵌入式软件接受循环轮转和 中断前后台 两种实现方式。14, 依据响应时间分,EOS可分为 实时操作系统 和 非实时操作系统 两大类。15, 从任务管理角度看,嵌入式操作系统可以分为单道程序设计和 多道程序设计 两种类型。19, 运用gcc叮嘱假设想生成警告信息,应当给gcc加参数 -Wall 。22, 大多数 Boot Loader 都包含 启动加载模式 和 下载模式两种不同的操作模式。24, 在系统总线和外围总线之间,S3C2410A有4个DMA限制器。25
4、, 嵌入式系统支持的内存块大小有以下几种: 段 大小为1MB的内存块; 大页 大小为64KB的内存块; 小页 大小为4KB的内存块; 微小页 大小为1KB的内存块。28, ARM微处理器有 种工作模式,它们分为两类 , 。其中用户模式属于 。7 , 非特权模式, 特权模式, 非特权模式29, 在宿主机上运用编译器软件将嵌入式应用及操作系统编译成为可以在 上运行代码的过程,称为 ,而接受的编译器称为穿插编译器。目标机, 穿插编译30, ARM7TDMI接受 级流水线构造,ARM920TDMI接受 级流水线。3, 531, 接受RS232C实现最简洁的双机互联,至少须要如下信号线: , 和GND。
5、TXD, RXD33, ARM系列微处理器支持的边界对齐格式有: , 和字对齐。34, I/O接口编址方式有两种,分别是: 和 。统一编址和独立编址35, 大多数 Boot Loader 都包含 和 两种不同的操作模式。启动加载模式, 下载模式36, 从模块构造来看,嵌入式系统由三大局部组成,分别是: , 软件和 。硬件, 开发平台37, I/O接口电路数据传送方式有: , , DMA, I/O通道和I/O处理机方式。查询, 中断38, 从任务管理角度看,嵌入式操作系统可以分为单道程序设计和 两种类型。多道程序设计39, 系统初始化过程依据自底向上, 从硬件到软件的次序依次可以分为 初始化,
6、初始化和 初始化3个主要环节。片级, 板级和系统级41, 依据通常的分类方法,嵌入式软件可以分为 , , 和 三大类。系统软件, 应用软件, 和支撑软件43, ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 , ,状态存放器CPSR的 位反映了处理器运行不同指令的当前状态。ARM , Thumb , T44, 嵌入式系统是以 为目的, 以 根底的计算机系统。嵌入式应用, 计算机技术45, 嵌入式系统的开发由于受到 限制,通常接受 环境。系统资源开销的, 穿插开发46, 嵌入式系统开发接受的穿插开发环境是由 和 组成的。宿主机, 目标机47, ARM 处理器共有37个存放器,
7、包括31个 和6个 。通用存放器, 状态存放器48, ARM微处理器的工作模式中,系统模式并不是通过 进入的,它和 模式具有完全一样的存放器。异样, 用户49, ARM微处理器支持两种指令集: 和 _。ARM指令集, Thumb指令集50, 就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的 程序。Bootloader, BIOS1, 下面哪个系统属于嵌入式系统。 A, “天河一号计算机系统B, 联想T400笔记本计算机C, 联想S10上网本D, 联想OPhone手机2, 下面哪一种工作模式不属于ARM特权模式 。A, 用户模式B, 系统模式C, 软中断模式D, FIQ模式3, AR
8、M920T的工作状态包括 。A, 测试状态和运行状态B, 挂起状态和就绪状态C, 就绪状态和运行状态D, ARM状态和Thumb状态4, RS232-C串口通信中,表示逻辑1的电平是 。A, 0vB, 3.3vC, 5v15vD, 5v15v5, ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是 。A. R0 = R2 + (R3 1) B. R0 =( R2 1) + R3C. R3= R0+ (R2 1) D. (R3 1)= R0+ R26, I2C协议中有几根线 A.1B.2 C.3 C.47, 指令“LDMIA R0!, R1, R2, R3, R4的寻址方式为
9、。A, 立刻寻址B, 存放器间接寻址C, 多存放器寻址D, 堆栈寻址9, RS-232C串行通信总线的电气特性要求总线信号接受 。A, 正逻辑 B, 负逻辑 C, 高电平 D, 低电平10, 下面哪种操作系统不属于商用操作系统。 ( )A. windows xpB. LinuxC. VxWorksD. WinCE11. 下面哪点不是嵌入式操作系统的特点。 ( )A. 内核精简B. 专用性强C. 功能强大D. 高实时性12. 下面哪种不属于嵌入式系统的调试方法。 ( )A. 模拟调试B. 软件调试C. BDM/JTAG调试D. 单独调试13. 在嵌入式ARM处理器中,下面哪种中断方式优先级最高。
10、 ( )A. ResetB. 数据中止C. FIQD. IRQ14. NAND FLASH和NOR FLASH的说法正确的选项是。 ( )A. NOR的读速度比NAND稍慢一些B. NAND的写入速度比NOR慢很多C. NAND的擦除速度远比NOR的慢15. 下面哪种嵌入式操作系统很少用在手机上。 ( )A. Symbian B. linuxC. Win CED. VxWorks16, 0x17&0x11的运算结果是。 ( )A.0x01B.0x11C.0x17D.0x0717, 以下哪种方式不属于文件系统的格式。( )A.FAT18, 下面哪个特点不属于USB设备的特点。( )A.串行通信方
11、式B.不行热拨插C.分HOST, DEVICE和HUB D.通信速率比串口快19, CPSR存放器中反映处理器状态的位是 A.J位B.I位C.F位 D.T位20, 以下描述不属于RISC计算机的特点的是 。 A流水线每周期前进一步。B更多通用存放器。C指令长度不固定,执行须要多个周期。D独立的Load和Store指令完成数据在存放器和外部存储器之间的传输。21运用Host-Target联合开发嵌入式应用, 不是必需的。A, 宿主机B, 银河麒麟操作系统C, 目标机D, 穿插编译器22, 存储一个32位数0x2168465到2000H2003H四个字节单元中,假设以大端模式存储,那么2000H存
12、储单元的内容为 。A, 0x21B, 0x68C, 0x65D, 0x0223, S3C2410处理器的存放器组有 个存放器。A, 7B, 32C, 6D, 3724, 存放器R15除了可以做通用存放器外,还可以做 A. 程序计数器B. 链接存放器C. 堆栈指针存放器D. 基址存放器25, S3C2410X处理器为用户进展应用设计供应了支持多主总线的IIC接口。处理器供应符合IIC协议的设备连接的串行连接线为 。A. SCL和RTXB. RTX和RCXC. SCL和SDA D. SDA和RCX26, 以下CPSR存放器标记位的作用说法错误的选项是 。A. N:负数 B. Z:零 C. C:进位
13、 D. V: 借位28, 下面哪个系统不属于嵌入式系统 A, MP3播放器 B, GPS接收机C, “银河玉衡核心路由器D, “天河一号计算机系统29, 在嵌入式系统设计中嵌入式处理器选型是在进展 时完成。A, 需求分析B, 系统集成C, 体系构造设计D, 软硬件设计31, 关于ARM处理器的异样的描述不正确的选项是。A, 复位属于异样B, 除数为零会引起异样C, 全部异样都要返回D, 外部中断会引起异样32, 嵌入式系统最常用的数据传送方式是。A, 查询B, 中断C, DMAD, I/O处理机34, 嵌入式操作系统一般通过手段来解决代码体积及嵌入式应用多样性的问题。A, 运用可定制的操作系统
14、B, 将操作系统分布在多个处理器上运行C, 增大嵌入式设备的存储容量D, 运用压缩软件对操作系统进展压缩35, 以下关于嵌入式系统说法正确的选项是 A, 以开发为中心B, 对实时,本钱,功耗要求严格C, 软硬件协同D, 软件可剪裁36, 以下哪一项属于嵌入式系统不具备的特点A, 接受专用处理器 B, 跨平台可移植C, 软硬件协同一体化D, 小型化及有限资源37, 嵌入式应用软件的开发阶段不包括A, 穿插编译和链接 B, 开发环境的建立C, 联机调试 D, 应用程序模块加载38, 以下哪一项不属于嵌入式处理器A, PowerPC B, pentium C, ARM D, MIPS39, 在指令系
15、统的各种寻址方式中,获得操作数最快的方式是A, 干脆寻址 B, 立刻寻址 C, 存放器寻址 D, 间接寻址40, ARM微处理器的存放器在Thumb状态及ARM状态下一样的是A, R8-R12 B, R15和CPSR C, R13-R14 D, R0-R741, 以下哪一项不属于ARM异样中断A, 复位 B, IRQ C, 条件转移 D, .数据终止42, ARM存放器组中除了以下哪组存放器以外全部处理器模式下都可以访问 A、 SPSR B, R0-R7 C, CPSR D, R8-R943, 和PC机系统相比,以下哪个不是嵌入式系统独具的特点 A, 系统内核小B, 专用性强 C, 可执行多任
16、务D, 系统精简44, UCOS-II操作系统属于 A, 依次执行系统B, 占先式实时操作系统C, 非占先式实时操作系统D, 分时操作系统45, ARM公司是特地从事 A, 基于RISC技术芯片设计开发B, ARM芯片生产 C, 软件设计D, ARM芯片销售46, ARM9系列微处理器是 A, 三级流水线构造B, 四级流水线构造C, 五级流水线构造D, 六级流水线构造47, 在全部工作模式下, 都指向同一个物理存放器,即各模式共享A, R0-R7B, R0-R12C, R8-R12D, R13,R1448, 当异样发生时,存放器 用于保存CPSR的当前值,从异样退出时那么可由它来复原CPSR.
17、A, SPSRB, R13C, R14D, R1549, 能实现把立刻数0X3FF5000保存在R0中的指令是 A, LDRR0, = 0X3FF5000 B, LDRR0, 0X3FF5000C, MOVR0, 0X3FF5000 D, MOVR0, =0X3FF500050, ARM指令LDMIA R0,R1, R2, R3,R4 实现的功能是 A , R1R0,R2R0+4,R3R0+8,R4R0+12B, R1R0,R2R0-1,R3R0-2,R4R0-3C, R1R0,R2R0+1,R3R0+2,R4R0+3D, R1R0,R2R0-4,R3R0-8,R4R0-1251, 伪指令用于
18、定义一个代码段或数据段A, RLISTB, DCBC, MAPD, AREA52, 在上机试验中,ADS开发环境下,调试程序用 软件A, AXDB, DebugC, GccD, Make54, 嵌入式系统开发系统运用的 方式中,运用仿真头完全取代目标板上的CPU,在不干扰处理器的正常运行状况下,实时检测CPU的内部工作状况。A, 基于JTAG的ICDB, 在线仿真器ICE C, 背景调试模式BDMD, 软件模拟环境55, 在嵌入式Linux开发系统,微机及开发版通过串口连接,主要是用于 A, 下载应用程序B, 下载操作系统映像文件C, 实现BootLoader的人机操作界面D, 实现应用程序的
19、人际操作界面56, 指令MSR CPSR_C,R0实现的功能是 A, 传送R0的内容到CPSR中,更新CPSRB, 传送R0的内容到CPSR中,但仅修改其限制域C, 传送CPSR的内容到R0D, 传送CPSR的限制域内容到R062, 同CISC相比,下面哪一项不属于RISC处理器的特征 A, 接受固定长度的指令格式,指令规整, 简洁, 根本寻址方式有23种。B, 削减指令数和寻址方式,使限制部件简化,加快执行速度。C, 数据处理指令只对存放器进展操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计。D, RISC处理器都接受哈佛构造。63, 在ARM体系构造中,要
20、从主动用户模式User切换到超级用户模式Supervisor,应接受 B 方法。A, 干脆修改CPU状态存放器CPSR对应的模式B, 先修改程序状态备份存放器SPSR到对应的模式,再更新CPU状态C, 运用软件中断指令SWID, 让处理器执行未定义指令64, 在ARM Linux体系中,用来处理外设中断的异样模式是 A, 软件中断SWIB, 未定义的指令异样C, 中断请求IRQD, 中止中断请求69, 通常所说的32位微处理器是指 A, 地址总线的宽度为32位B, 处理的数据长度只能为32位C, CPU 字长为32位D, 通用存放器数目为32个70, 以下表达中正确的选项是 A, 宿主机及目标
21、机之间只须要建立逻辑连接即可B, 在嵌入式系统中,调试器及被调试程序一般位于同一台机器上C, 在嵌入式系统开发中,通常接受的是穿插编译器D, 宿主机及目标机之间的通信方式只有串口和并口两种71, 对ARM处理器说法不正确的选项是 。A, 小体积, 低功耗, 低本钱, 高性能B, 支持Thumb16位/ARM2位双指令集C, 只有Load/Store指令可以访问存储器D, 寻址方式多而困难72, 假如Boot Loader, 内核, 启动参数以及其他的系统映像四局部在固态存储设备上分别独立存放,那么其存储构造的支配依次应当是: 。 A, 文件系统, 内核, 启动参数, BootloaderB,
22、启动参数, Bootloader, 内核, 文件系统C, Bootloader, 内核, 启动参数, 文件系统D, Bootloader, 启动参数, 内核, 文件系统专业名词说明RTOS 实时操作系统SOC片上系统 RSIC精减指令集CSIC困难指令集kernel内核Scheduler调度GUI图形用户界面AHB先进的高性能总线APB先进的外围总线UART通用异步收发器/通用异步串口说明:标红色表示没错,未标红色表示错1, BootLoader的片级初始化阶段主要完成微处理器以外的其他硬件设备的初始化。2, 嵌入式软件具有规模较小, 开发难度大, 高实时性和高牢靠性等特点。5, 嵌入式Lin
23、ux操作系统属于单体内核系统。6, VxWorks接受是一种分层构造的嵌入式操作系统。7, 接受单道程序设计的操作系统在任何时候只能有一个程序在运行。9, BootLoader 及主机通信通常接受并行通信。10, 大多数 Boot Loader 都分为 stage1 和 stage2 两大局部。11, vivi是WinCE的Bootloader.12, Blob是一款用于Intel公司推出的Xscale架构的CPU引导程序。13, Linux不行以及MS-DOS, OS/2, Windows等其他操作系统共存于同一台机器上。14, Linux及其他操作系统的区分在于Linux是一种开放, 免费
24、的操作系统。21, 处于就绪状态的任务只能切换到运行状态22, 嵌入式软件具有规模较小, 开发难度大, 高实时性和高牢靠性等特点。23, 嵌入式Linux操作系统属于单体内核系统。24, 利用gcc叮嘱可同时编译并连接C和C+源程序。25, 中止异样是为了支持数据传输或者中断处理而设计的。26, ARM指令为32位的长度,Thumb指令为16位长度。27, ARM微处理器接受RISC指令集,运用大量的存放器。28, 全部的ARM指令都可依据前面的执行结坚确定是否被执行,从而提高指令的执行效率。29, R13在Thumb指令中常用作堆栈指针,但这只是一种习惯用法,用户也可运用其他的存放器作为堆栈
25、指针。30, 0x55R0R20x01指令MOV R0,R2,LSL #3;执行前,各存放器的值如下,请写出指令执行后,各存放器的值。答:指令执行后,各存放器的值为:0x01R2R00x08 2, 简述嵌入式系统的组成。答:嵌入式系统通常由包含有嵌入式处理器, 嵌入式操作系统, 应用软件和外围设备接口的嵌入式计算机系统和执行装置被控对象组成。嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层, 中间层, 系统软件层和应用软件层。执行装置承受嵌入式计算机系统发出的限制叮嘱,执行所规定的操作或任务。3, ARM微处理器的运行模式有哪几种,请列举并说明。答:ARM微处理器的运行模式有7种,分别为
26、:1用户模式User,usr:正常程序执行时,ARM处理器所处的状态。2快速中断模式FIQ,fiq:用于快速数据传输和通道处理。3外部中断模式IRQ,irq:用于通常的中断处理。4特权模式Supervisor,sve:供操作系统运用的一种爱惜模式。5数据访问中止模式Abort,abt:当数据或指令预取终止时进入该模式,用于虚拟存储及存储爱惜。6未定义指令终止模式Undefined,und:用于支持硬件协处理器软件仿真。7系统模式System,sys:用于运行特权级的操作系统任务。4, 请简述ARM微处理器的用户模式和特权模式,以及用户模式向特权模式的转换。答:(1)除了用户模式之外的其他6种处
27、理器模式称为特权模式.特权模式下,程序可以访问全部的系统资源,也可以随意地进展处理器模式的切换。(2)特权模式中,除系统模式外,其他5种模式又称为异样模式。大多数的用户程序运行在用户模式下,此时,应用程序不能够访问一些受操作系统爱惜的系统资源,应用程序也不能干脆进展处理器模式的切换。(3)用户模式下,当须要进展处理器模式切换时,应用程序可以产生异样处理,在异样处理中进展处理器模式的切换。5, 请简述ARM微处理器两种工作状态集的切换操作及方法。答:ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换:1 在开场执行代码时,处于ARM状态;2 当操作数存放器的状态位
28、位0为1时,可以接受执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态;3 当处理器处于Thumb状态时发生异样如IRQ, FIQ, Undef, Abort, SWI等,那么异样处理返回时,自动切换到Thumb状态;4 当操作数存放器的状态位位0为0时,执行BX指令状态跳转时可以使微处理器从Thumb状态切换到ARM状态。在处理器进展异样处理时,把PC指针放入异样模式链接存放器中,并从异样向量地址开场执行程序,也可以使处理器切换到ARM状态。6, 简述嵌入式系统的一般定义和根本特征答:定义:嵌入式系统Embedded System是以应用为中心, 以计算机技术为根底, 软件硬件可
29、裁剪, 功能, 牢靠性, 本钱, 体积, 功耗严格要求的专用计算机系统。根本特征:(1)专用性: 接受专用的嵌入式处理器,功能算法的专用性;(2)小型化及有限资源: 资源约束和空间约束及专用性;(3)系统软硬件设计的协同一体化:硬件及软件的协同设计和应用软件及操作系统的一体化设计开发。7, 试描述异样发生时的响应的过程。答:当一个异样出现以后,ARM微处理器会执行以下几步操作: 将下一条指令的地址存入相应连接存放器LR。 将CPSR状态传送到相应的SPSR中。 依据异样类型,强制设置CPSR的运行模式位。 强制PC从相关的异样向量地址取下一条指令执行,跳转到相应的异样处理程序。还可以设置中断制
30、止位,以制止中断发生。9, 简述“满递增, “满递减堆栈的特点。列举1-2个指令。答:满递增堆栈:堆栈指针指向最终压入的数据,且上低地址向高地址生成,例如指令LDMFA, STMFA等。满递减堆栈:堆栈指针指向最终压入的数据,且由高地址向低地址生成,例如指令LDMFD, STMFD等。10, 简述“空递增, “空递减堆栈的特点。列举1-2个指令。答:空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成,例如LDMEA, STMEA等。空递减堆栈:堆栈指针指向下一个要放入数据的空位置,且由高地址向低地址生成,例如指令LDMED, STMED等。12, 简述RISC(精简指令
31、集计算机)的特点。答:在RISC中,优先选取运用频率最高的, 很有用但不困难的指令,防止运用困难指令;固定指令长度,削减指令格式和寻址方式种类; 指令之间各字段的划分比拟一样,各字段的功能也比拟规整;接受Load/Store指令访问存储器,其余指令的操作都在存放器之间进展;增加CPU中通用存放器数量,算术逻辑运算指令的操作数都在通用存放器中存取;大局部指令限制在一个或小于一个机器周期内完成;以硬布线限制逻辑为主,不用或少用微码限制;接受高级语言编程,重视编译优化工作,以削减程序执行时间。13, 简述ARM的小端格式,试举例说明。(大端格式如何存储数据)答:低字节数据存放在内存低地址处,高字节数
32、据存放在内存高地址处,称为小端字节依次存储法。假设一个32位字长的微处理器上定义一个int类型的常量a,其内存地址位于0x6000处,其值用十六进制表示为0x23456789。假如按小端法存储,那么其最低字节数据0x89存放在内存低地址0x6000处,最高字节数据0x23存放在内存高地址0x6003处。14, 什么是小端和大端存储器组织?假设一个32位字长的微处理器上定义一个int类型的常量a,其内存地址位于0x6000处,其值用十六进制表示为0x12345678,分别写出以大端和小端存储的结果。答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址
33、。 2) 大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。大端存储:0x6000=0x12,0x6001=0x34,0x6002=0x56,0x6003=0x78小端存储:0x6000=0x78,0x6001=0x56,0x6002=0x34,0x6003=0x1215, 简述ARM的几个特殊存放器R13, R14, R15, R16的作用。答:存放器R13通常用作堆栈指针,称作SP。存放器R14用作子程序链接存放器,也称为链接存放器LR。当执行带链接分支指令BL时,得到R15的备份。R15用作程序计数器PC。R16用作程序状态存放器CPSR,存放当
34、前程序状态。每种异样模式都有一个程序状态保存存放器SPSR,当异样出现时,SPSR用于保存CPSR的状态。16, 存放器CPSR,SPSR的功能各是什么?答:1CPSR包含条件码标记, 中断制止位, 当前处理器模式以及其它状态和限制信息。全部处理器模式下都可以访问当前的程序状态存放器CPSR。2在每种异样模式下都有一个对应的物理存放器程序状态保存存放器SPSR。当异样出现时,SPSR用于保存CPSR的状态,以便异样返回后复原异样发生时的工作状态。20, 简述Bootloader的启动过程。答:Bootloader的启动分为stage1和stage2两个阶段。一般依靠于 CPU 体系构造的代码,
35、比方设备初始化代码等,都放在stage1中,而且通常都用汇编语言来实现,以到达短小精悍且启动快的目的;而 stage2 那么通常用C语言来实现,这样可以实现各种困难的功能比方串口, 以太网接口的支持等,而且代码会具有更好的可读性和可移植性。分析题1, 能读懂简洁的ARM汇编程序。请分析以下汇编程序代码的功能,写出程序功能和划线语句-的含义。AREA F1, CODE, READONLY ENTRY start LDR r1, =s1 LDR r0, =s2 BL fun fun LDRB r2, r1,#1 STRB r2, r0,#1 CMP r2, #0 BNE fun MOV pc,lr
36、 AREA Strings, DATA, READWRITEs1 DCB First string s1,0s2 DCB Second string s2,0 END程序段开场标识,段名f1,是只读代码段。(2分)不相等那么跳转至标号fun处;2分将r2字节数据送到以r0+1作为地址所在单元;(2分)程序功能:将字符串s1中的内容送到字符串s2中。4分2, 读下面的程序,说明这段程序的功能。 AREAExample1,CODE,READONLY ;声明代码段Example1 ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令START MOVR0,#0 ;设置参数 MOVR1,#
37、10LOOPBLADD_SUB ;调用子程序ADD_SUB BLOOP ;跳转到LOOPADD_SUB ADDSR0,R0,R1 ;R0 = R0 + R1 MOVPC,LR ;子程序返回 END ;文件完毕 答:实现两个存放器相加。6, 写一段 ARM汇编程序:循环累加队列myarray中的全部字数据,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。AREA total, CODE READONLYENTRYstartMOV r4, #0ADR r0, myarray;在此补充代码loopLDR r1, r0, #4ADDr4, r4, r1CMPr1, #0BNElo
38、op7, 阅读以下汇编程序,并分析。N EQU 5AREA Test1,CODE,READONLYENTRYMOV R0,#0MOV R1,#1REPEAT ADD RO,R0,R1ADD R1,R1,#1CMP R1,#NBLE REPEATLDR R2,=RESULTSTR R0,R2HERE B HEREAREA DataSpac,DATA,READWRITERESULT DCD 0END问:1程序执行完,R0,R1,RESULT中的最终值;2)分析整个程序的功能。1R0=15;R1=6;RESULT中内容为15。2程序功能:对R0和R1分别赋值0,1,在R1=5的条件下循环给R0赋值R
39、0和R1之和,给R1加1,取得RESULT的地址赋值于R2,将最终R0的值保存在RESULT中。8, 阅读如下程序test.s:area test2,code,readonlyexport s_programs_programsub r0,r0,r1mov pc,lrend test.c:#includeextern int s_program(int a,int b);int main()int num;num=s_program(54,23);printf(“%d,num);return 0;1)请列出上述程序执行后R0,R1的值;2分析上述程序的功能。解:1R0=31;R1=232功能:
40、test.c调用s_program函数,将54赋值R0,23赋值R1,两者相减后,赋值给R0,R0作为返回值赋值给num,然后打印输出num的值。9, 现有如下C语言定义的函数myproint mypro(int a, int b)a=a*b;return (a);请补充完成调用上述函数的汇编程序,实现11及22相乘,并要求将结果保存在地址为0x40001000处。area test3,code,readonlyimport myproentrycode32startmov r0,#11 (1)mov r1,#22 (2)bl mypro (3)ldr r3,=0x40001000 (4)str r0,r3 (5)END