嵌入式复习思考题(1)答案

合集下载

嵌入式习题答案(DOC)

嵌入式习题答案(DOC)
测试数据0x12345678的[4](第五位)。如果是0,R0中的数据20加1。如果是1,R1中的数据10加1。(2分)
6.用汇编语言编写程序,求1到50的累加和。
答:
1
32
R50x40003005
R00
R11
LOOP
BLOOP
R001
R111
R150
R0,[R5]
B.
7.请说明汇编语句R2,[R04]和R2,[R04]!的区别。
答:状态:处理器执行32位的字对齐的指令;状态:处理器执行16位的半字对齐的指令。
指令集和指令集均有切换处理器状态的指令。
从状态转换到状态:
R0, 1
R0
8.处理器有哪些工作模式?哪些是特权模式?哪些是异常模式?
答:体系结构支持7种工作模式(),分别为用户模式()、快中断模式()、中断模式()、管理模式()、数据访问终止模式()、系统模式()、及未定义指令中止模式()。除去用户模式外的其他6种处理器工作模式称为特权模式()。除去用户模式和系统模式以外的5种处理器工作模式称为异常模式()
答:第2个操作数的三种形式如下。立即数,例如:R00x0000F200;寄存器方式,例如:R1,R1,R2;寄存器移位方式,例如:R112 R3。
3.请分别写出调用子程序、子程序返回所使用的指令,并简述所用指令的工作过程。
答:用指令调用子程序。指令先将下一条指令的地址拷贝到R14(即)连接寄存器中,然后跳转到指定地址运行指令。子程序返回的指令是:,。
答:8[R0+4]2;R0不变
32[R0+4]=R2;R00+4
32[]表示存储器的存储单元中存放的32位字数据,16[]表示存储器的存储单元中存放的16位半字数据,8[]表示存储器的存储单元中存放的8位字节数据

嵌入式系统课后习题部分答案1

嵌入式系统课后习题部分答案1

第一章1-1.简述嵌入式系统的定义。

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

1-2.简述嵌入式系统的组成。

从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。

其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。

嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。

嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM 、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。

1-3.ARM7处理器使用的是(ARMv4)指令集。

ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。

内核有一条3级流水线,执行ARMv4指令集。

1.4.Cortex-M3主要应用在哪些方向?主要用在平衡ARM的产品的性能和功耗,提高ARM的性能,降低其功耗1.5.简述StrongARM处理器和ARM处理器的关系StrongARM是第一个包含5级流水线的高性能ARM处理器,但它不支持Thumb指令集1-6.ARM9采用的是(5)级流水线设计。

存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。

1.7.简述ARM9和ARM9E的不同点硬件处理器不一样指令集不一样1.8.ARM11采用的是什么架构的指令ARMv6嵌入式操作系统的特点(1)体积小(2)实时性(3)特殊的开发调试环境SecureCore处理器系列的特点(1)支持ARM指令集和Thumb指令集,以提高代码密度和系统性能(2)采用软内核技术一提供最大限度的灵活性,可以防止外部对其进行扫描探测(3)提供了安全特性,可以抵制攻击(4)提供面向智能卡和低成本的存储保护单元MPU(5)可以集成用户自己的安全特性和其它的协处理器第二章2-1.简述ARM可以工作在几种模式。

嵌入式原理思考题及答案16页word

嵌入式原理思考题及答案16页word

第1章复习要点1.1.1节嵌入式系统的概念1.1.3节嵌入式系统的特点1.3节嵌入式处理器1.4节嵌入式系统的组成第2章复习要点2.1节计算机体系结构分类2.3.1节 ARM和Thumb状态2.3.2节 RISC技术2.3.3节流水线技术2.4.3节 ARM存储系统第3章复习要点3.1节ARM编程模式3.2节ARM指令格式及其寻址方式3.3节ARM指令集(课上所讲的指令)第4章复习要点4.1节汇编语言源程序格式4.2节汇编语言的上机过程第5章复习要点5.1节键盘接口5.2节 LED显示器接口5.5.1节 UART异步串行接口作业题答案:1.什么是嵌入式系统?∙第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

∙第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2.与通用型计算机相比,嵌入式系统有哪些特点?⏹通常是面向特定应用的;⏹空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余;⏹产品升级换代和具体产品同步,具有较长的生命周期;⏹软件一般都固化在存储器芯片或单片机本身;⏹不具备自举开发能力,必须有一套开发工具和环境才能进行开发3.举例介绍嵌入式微处理器有哪几类?一、嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式处理器目前主要有Aml86/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。

二、嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。

嵌入式原理思考题及答案

嵌入式原理思考题及答案

第1章复习要点1.1.1节嵌入式系统的概念1.1.3节嵌入式系统的特点1.3节嵌入式处理器1.4节嵌入式系统的组成第2章复习要点2.1节计算机体系结构分类2.3.1节 ARM和Thumb状态2.3.2节 RISC技术2.3.3节流水线技术2.4.3节 ARM存储系统第3章复习要点3.1节ARM编程模式3.2节ARM指令格式及其寻址方式3.3节ARM指令集(课上所讲的指令)第4章复习要点4.1节汇编语言源程序格式4.2节汇编语言的上机过程第5章复习要点5.1节键盘接口5.2节 LED显示器接口5.5.1节 UART异步串行接口作业题答案:1.什么是嵌入式系统?∙第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

∙第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2.与通用型计算机相比,嵌入式系统有哪些特点?⏹通常是面向特定应用的;⏹空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余;⏹产品升级换代和具体产品同步,具有较长的生命周期;⏹软件一般都固化在存储器芯片或单片机本身;⏹不具备自举开发能力,必须有一套开发工具和环境才能进行开发3.举例介绍嵌入式微处理器有哪几类?一、嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式处理器目前主要有Aml86/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。

二、嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。

《嵌入式系统》思考题答案(修改)

《嵌入式系统》思考题答案(修改)

《嵌入式系统》思考题答案1.说明嵌入式系统、SOC、SOPC、CISC、RISC、IP核、流水线、RTOS、JTAG、ARM9TDMI、GUI、可剥夺型内核、交叉编译环境、冯·诺依曼结构、哈佛结构、进程、线程的含义和基本概念;嵌入式系统定义:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

SOC: SOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。

SOPC与SOC区别:SOPC可以多次书写。

如:GPIO(通用I/O接口)、IIS(音频接口)、USB(通用串行总线接口)、LCD(液晶显示器接口)、A/D(模/数转换接口)、D/A(数/模转换接口)、IrDA(红外线接口)Ethernet (以太网接口)、CAN(现场总线)、DMA控制器、Cache是一种位于主存储器和嵌入式微处理器内核之间的快速存储器阵列。

CISC: 复杂指令集计算机中在CISC中,为了支持目标程序的优化,支持高级语言和编译程序,增加了许多复杂的指令,用一条指令来代替一串指令。

通过增强指令系统的功能,简化软件,却增加了硬件的复杂程度。

而这些复杂指令并不等于有利于缩短程序的执行时间。

RISC精简指令集计算机:是在CISC的基础上产生并发展起来的,RISC的着眼点不是简单地放在简化指令系统上,而是通过简化指令系统使计算机的结构更加简单合理,从而提高运算效率。

IP核:IP核是指具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。

流水线:流水线是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。

RTOS实时系统:RTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。

嵌入式部分复习题、练习题-含答案

嵌入式部分复习题、练习题-含答案

第1章:ARM和嵌入式系统介绍嵌入式系统的概念ARM嵌入式处理器的版本Cortex系列处理器的组成和特点嵌入式操作系统第2章:ARM体系结构ARM、CM3处理器状态:Thumb状态和调试状态CM3处理器工作模式:Handler模式和Thread模式代码特权分级:特权级和非特权(用户)级CM3内部寄存器:r0-r12,r13,r14,r15,状态寄存器xPSR存储器映射机制:大端格式和小端格式数据对齐方式:字对齐、半字对齐、非字对齐、非半字对齐异常概念、CM3异常机制特点第3章:Cortex-M3控制器及外围硬件简介嵌入式最小系统组成第4章:指令系统和时钟ARM、Thumb、Thumb-2和CM3指令集的特点和关系STM32时钟系统结构原理和初始化编程启动代码第5章:GPIO实验、第6章:UART实验、第9章:中断实验第10章:RTC实验原理和编程第7章:模/数转换、第8章:定时器实验原理即可,不考程序1. 什么是嵌入式系统?嵌入式系统有哪些应用?2. 什么是嵌入式处理器?嵌入式处理器分为哪几类?3. 说明使用实时操作系统的必要性。

4. 简要说明ARM Cortex内核处理器分为哪几个系列?各有什么特点?5. ARM Cortex-M3处理器有哪些优势符合嵌入式操作系统的要求?6. 简述NVIC的初始化步骤。

7. 什么是嵌入式处理器?嵌入式处理器分为哪几类?二、填空1. STM32F103ZET6有个引脚, KB片内FLAM ROM, KB 片内SRAM。

2. Cortex-M3处理器支持两种特权分级:特权级和。

Cortex-M3处理器支持两种工作模式,:模式和模式。

3. PSR中,标志位C是,Z是 N是,V是。

4. CM3内部寄存器中,R13的作用是,R14的作用是,R15的作用是。

5. 经典ARM7处理器有和两种状态,CM3处理器只有状态。

6. Cortex-M3的流水线分3级,分别为、、。

7. STM32F10x的管理着包括Cortex-M3核异常等中断,其和ARM 处理器核的接口紧密相连,可以实现的中断处理,并有效地处理迟来中断。

《嵌入式》课后习题答案

《嵌入式》课后习题答案

第一章1. 简述嵌入式的定义以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2. 举例说明嵌入式系统的“嵌入性” 、“专用性” 、“计算机系统”的基本特征。

按照嵌入式系统的定义,嵌入式系统有3个基本特点,即“ 嵌入性”、“ 专用性”与“ 计算机”。

“嵌入性”由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。

当嵌入式系统变成一个独立应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。

“计算机”是对象系统智能化控制的根本保证。

随着单片机向MCU SoC发展,片内计算机外围电路、接口电路、控制单元日益增多,“专用计算机系统”演变成为“内含微处理器”的现代电子系统。

与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。

“专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。

嵌入式系统的软、硬件配置必须依据嵌入对象的要求,设计成专用的嵌入式应用系统。

3. 简述嵌入式系统发展各阶段的特点。

(1)无操作系统阶段:使用简便、价格低廉;(2)简单操作系统阶段:初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。

(3)实时操作系统阶段:系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面Graphic User Interface ,GUI )等功能,并提供了大量的应用程序接口Application Programming Interface ,API ),从而使应用软件的开发变得更加简单。

(4)面向Internet 阶段:进入21 世纪,Internet 技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与Internet 技术的结合正在推动着嵌入式系统的飞速发展4. 简述嵌入式系统的发展趋势。

嵌入式习题答案1

嵌入式习题答案1

《嵌入式系统》课后习题参考答案第一章1.什么是嵌入式系统?它由哪几部分组成?有何特点?以应用为中心,计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统、应用软件等几大部分组成。

嵌入式处理器与通用处理器的最大不同点在其大多工作在为特定用户群设计的系统。

外围设备包括:存储器、接口、人机交互。

嵌入式操作系统的特点:软硬件一体化,集计算机技术、微电子技术和行业技术为一体;需要操作系统支持,代码小,执行速度快;专用紧凑,用途固定,成本敏感;可靠性要求高;多样性,应用广泛,种类繁多。

2.嵌入式处理器分为哪几类?低端的微控制器(MicroConctroller Unit,MCU)中高端的嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)通信领域的DSP系统(Digital Signal Processor,DSP)高度集成的片上系统(System on Chip,SoC)3.ARM英文原意是什么?它是个怎样的公司?其处理器有何特点?ARM(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。

ARM公司通过将其高性能、低功耗、低成本的RISC微处理器,外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。

ARM处理器的特点:小体积、低功耗、低成本而性能高。

16/32位指令集。

全球至多的合作伙伴。

4.什么是实时系统?它由哪些特征?如何分类?实时系统是具有实时性且能支持实时控制系统工作的操作系统。

其首要任务是调动一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,其重要特点是能满足对时间的限制和要求。

实时性:实时系统所产生的结果在时间上有严格的要求,只有符合时间要求的结果才是正确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式复习思考题及答案(1)一、简答题1、ARM9有哪几种工作模式?其中哪几种属于特权模式?哪几种属于几种异常模式?答:有用户、系统、管理、中止、未定义、普通中断、快速中断。

系统、管理、中止、未定义、普通中断、快速中断属于特权模式。

管理、中止、未定义、普通中断、快速中断属于几种异常模式。

2、ARM9有哪2种工作状态?各自特点?实现状态切换指令的是什么?答:ARM状态与Thumb状态。

ARM状态指令是32位;Thumb状态指令是16位。

切换指令是BX。

3、简述ARM9在不同工作模式下寄存器分布情况(用图表说明)。

R13、R14、R15的固定用途;CPRS和SPRS名称及功能。

答:R13常作为堆栈指针SP、R14作为链接寄存器LR、R15作为程序计数器PC。

CPRS是当前程序状态寄存器,包含条件代码、中断禁止位、当前处理器模式以及其他状态和控制信息。

SPRS是程序状态保存寄存器,异常出现时用于保存CPRS的状态。

45答:响应过程:1、将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14中;2、将CPSR的内容保存到将要执行的异常中断对应的SPSR中;3、根据异常类型CPSR中的运行模式位;4、将相应的矢量地址赋值给PC,开始执行异常处理程序。

还可设中断禁止位。

返回过程: 1、将连接寄存器LR的值减去相应的偏移量后送到PC中;2、将SPSR内容送回CPSR;3、若在进入异常处理时设置了中断禁止位,要在此清除。

6、写出ARM9支持的寻址方式,各举一例。

答:略7、写出指令LDRB/LDRH/LDR的区别。

答:LDRB将内存单元一个字节的数据扩展到32位装载到寄存器;LDRH将内存单元半字(两个字节)的数据扩展到32位装载到寄存器;LDR 将内存单元一个字的数据装载到寄存器。

8、写出LDM、STM指令用于数据块拷贝时对应的4种后缀以及用于堆栈操作对应的4种后缀。

解释各自的执行过程。

答:数据块拷贝后缀:IA操作后指针增;DA操作后指针减;IB操作前指针增;DB操作前指针减。

堆栈操作后缀:FD满递减;ED空递减;FA满递增;EA空递增。

9、ARM和Thumb两种状态下各自堆栈的生成方式有何不同?写出各自对应的入栈、出栈指令。

答:ARM堆栈有4种生成方式满递增、满递减、空递增、空递减;入栈指令:STM(FD\ED\FA\EA 4种后缀之一)出栈指令:LDM(FD\ED\FA\EA 4种后缀之一)Thumb堆栈采用满递减的生成方式。

入栈指令:PUSH . 出栈指令:POP10、写出条件代码NE、EQ的判断条件。

答:NE Z=0 (不相等);EQ Z=1 (相等)11、B、BL及BX指令有何区别?写出无嵌套的子程序调用及返回指令。

答:B是简单的转移指令,实现向目的地址的简单的跳转;BL是带链接的转移指令,将转移指令后的下一条指令抵制保存到链接寄存器LR;BX是带状态切换的转移指令。

子程序调用指令:BL DELAY; 无嵌套的子程序返回指令MOV PC,LR12、举例说明伪指令LDR的2个主要用途。

答:LDR R1, =0X30408020 加载32位立即数到寄存器;LDR R1, =SRC 加载一个地址值到寄存器。

13、什么是ATPCS?它有哪些规则?答:ATPCS是ARM程序和Thumb程序中子程序调用的基本规则,使单独编译的C程序和汇编程序能相互调用。

有数据栈规则、参数传递规则和子程序调用时寄存器使用规则。

二、程序阅读题(重点检测寻址方式及指令)1、在每条语句后做简要注释,写出程序执行后R0、R1 、R2和C的值。

(知识点:算术、逻辑操作、影响标志位S)AREA SUMM , CODE , READONLYX EQU 8Y EQU 16ENTRYMOV R0 , #XMOV R1 , #YADD R2 , R0 , R1AND R0 , R2 , #0X0FMOV R2 , #YADDS R2 , R0 , R1 , LSR #1STOP B STOP 程序执行后R0=8、R1=16 、R2=16和C=0。

END2、分析程序,按照加“//”语句的要求解答。

(知识点:堆栈操作)AREA STK , CODE , READONLYENTRYMOV R1 , #0X30MOV R2 , #0X08MOV SP , #0X400STMFD SP!,{R1,R2};// ①写出语句执行后SP和R2的值SP= 0X3F8 ;R2=0X08LDMFD SP!,{R5,R6};// ②写出语句执行后SP、R5和R6的值SP=0X400;R5=0X30;R6=0X08 LOOP B LOOPEND3、写出程序实现的功能,并在每条语句后做简要注释。

(知识点:寻址方式[Rn] , #immediate、循环体、数据拷贝)AREA armcopy CODE, READONLYnum EQU 16ENTRYADR r1, srcADR r3, dstMOV r2, #num 程序实现了将内存src 处的16个字拷贝到dst处。

copy LDR R0 , [r1] , #4STR R0 , [r3] , #4SUBS r2 , r2 , #1BNE copystop B stopsrc DCD 1,2,3,4,1,2,3,4,5,6,1,2,3,4,1,2dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0END4、分析程序功能,并写出加序号语句的作用。

(知识点:状态切换)程序实现了从ARM状态切换到Thumb状态实现4个字节数据的拷贝。

AREA thcopy, CODE, READONLYENTRYCODE32 ;伪操作,指示以下指令是32位的ARM指令LDR r1, =srcLDR r3, =dstMOV r2, #4LDR r4, =copy+1 ;①;伪指令,装载跳转地址以及最后的状态切换位BX r4 ;②;从ARM状态跳转到Thumb状态CODE16 ;③;伪操作,指示以下指令是16位的Thumb指令copyLDRB r0,[r1]ADD r1,#1STRB r0,[r3]ADD r3,#1SUB r2, r2, #1BNE copystop B stopsrc DCB 1,2,3,4dst DCB 0,0,0,0END5、写出下列程序执行后r0的值,并写出加序号语句的作用。

(知识点:跳转表、子程序的调用返回)AREA Jump, CODE, READONLYENTRYStart MOV r0, #0MOV r1, #8MOV r2, #5BL count ;①调用子程序stop B stopcount CMP r0, #2 ;②r0与2比较MOVHS pc, lr ;③如果r0大于2则子程序返回LDR r3, =JumpTable ;④否则将跳转表首地址送r3LDR pc, [r3,r0,LSL#2] ;⑤将r3 +r0×4(即跳转地址)送pcJumpTableDCD DoAddDCD DoSubDoAddADD r0, r1, r2MOV pc, lr ;⑥子程序返回DoSubSUB r0, r1, r2MOV pc,lr 程序执行后r0=13END6、分析下面这段混合程序回答:(1)、程序实现了什么功能?在C中调用汇编函数实现字符串拷贝(2)C语言程序和汇编代码如何传递参数? dststr R0; srcstr R1(3)在每条语句后做简要注释。

(知识点:C和汇编混合编程框架、ATPCS规则、字节拷贝)extern void strcpy(char *d,const char *s) ;声明外部函数int main(void){const char *srcstr=”a bcde fg”;char *dststr=”jjj jjjjjjj”;strcopy(dststr,srcstr) ;调用汇编函数(通过R0和R1实现参数传递)printf(“%s\n%\n”,srcstr,dststr);return(0);}AREA SCopy, CODE, READONLYEXPORT strcopy ;声明一个全局标号,可以在其他文件中引用strcopy LDRB r2, [r1],#1STRB r2, [r0],#1CMP r2, #0BNE strcpyMOV 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函数之间如何进行参数传递)。

int add3 (int a,int b,int c ){return a+b+c;}AREA SADD, CODE, READONLYIMPORT add3 ;声明该标号在其他源文件中,要在当前文件中引用ADD R1, R0,R0ADD R2, R0,R1BL add3 ;调用子程序END。

相关文档
最新文档