ARM复习课后题答案

合集下载

ARM题库含答案

ARM题库含答案

ARM题库含答案一、判断题(共100题,每题1分,共100分)1.Linux的特点有内核小,功能强大,运行稳定,效率高等。

A、正确B、错误正确答案:A2.数码管共阴接法是指将负极接在一起。

A、正确B、错误正确答案:A3.复位时RSET引脚直接接电源A、正确B、错误正确答案:B4.使能时钟工作步骤是:1、配置CPU主时钟的来源,以及主时钟的具体频率。

2、配置各部件时钟的具体频率,并打开各部件时钟。

A、正确B、错误正确答案:A5.在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,BOOT1=0BOOT0=1从用户闪存启动,这是正常的工作模式。

A、正确B、错误正确答案:BS电路比TTL电路功耗大。

B、错误正确答案:B7.串口的发送与接受寄存器都是USART_DRA、正确B、错误正确答案:A8.储存器控制器全部寻址空间为1GBA、正确B、错误正确答案:A9.若定义任务task1的优先级为12,则不能再定义其他任务的优先级为12A、正确B、错误正确答案:A10.S3C2410X有24个外部中断源A、正确B、错误正确答案:A11.RCC_APB2PeriphClockCmd()函数是设置外设时钟。

A、正确B、错误正确答案:A12.我们通常将按键对应的引脚设置为上拉输入模式A、正确正确答案:A13.STM32F103ZET6芯片具有全球唯一A、正确B、错误正确答案:A14.MicroSD卡是一种常用的闪存卡,掉电保存,用于存储大量数据。

A、正确B、错误正确答案:A15.DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低、抗干扰能力强,精度高的特点。

A、正确B、错误正确答案:A16.寄存器r15作为程序计数器。

A、正确B、错误正确答案:A17.STM32开发板LED指示灯的阳极接CPU的PC0-PC7。

A、正确B、错误正确答案:B18.HSI是高速内部时钟,频率为8MHzA、正确B、错误正确答案:A19.VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。

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

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

a r m嵌入式系统课后习题部分答案The pony was revised in January 2021一填空题嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。

驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。

嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。

处理器分为(ARM)和(Thumb)两种操作状态。

状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15).处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。

(-S)指令集包括(ARM)指令集和(Thumb)指令集。

指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。

指出下面各条指令的寻址方式。

SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。

SUBS R0,R0,#1 ;寻址方式:(立即寻址)。

MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。

SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。

LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。

汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。

对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。

异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。

系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。

二选择题可以表示微控制器的缩略词是( B )A. MPUB. MCUC. WDT类存储器包括( ABD )A. NOR FlashB. EPROMC. SRAMD. PROM不属于ARM的系列是( D )A. MCS-96B. 80C51C. LPC2000处理器系列采用( A )级流水线。

ARM原理及应用复习题(附答案)

ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。

2.STM32F103最高工作频率___72MHz___。

片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。

IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。

5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。

6.STM32的所有端口都有外部中断能力。

当使用外部中断线时,相应的引脚必须配置成输入模式。

7.STM32具有单独的位设置或位清除能力。

这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。

8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。

9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。

10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。

12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。

简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。

ARM完整复习题及答案

ARM完整复习题及答案

ARM完整复习题及答案嵌入式系统设计复习资料注意:因为参考答案填空老师没有给电子版,只是上课听的,难免会有听错,请大家指出错误。

一填空题1.arm内核有四个功能模块,即___t___、___d___、___m___、____i__,可供生产厂商根据不同用户的要求来配置生产arm芯片。

3.ARM芯片的主要封装形式有_qfp _。

4.由ARM微处理器共享的一个32位寄存器,其中一个是通用寄存器,另一个是状态寄存器。

5.arm体系结构可用两种方法存储字数据,具体为___大端存储格式__、___小端存储格式___。

6.协处理器主要控制:________;片上mmu ___;指令和数据缓存(IDC)________。

从逻辑上讲,arm可以扩展16个协处理器。

7.ARM微处理器在较新的体系结构中支持两个指令集:_______________________。

8.在cpsr中m[4:0]表示模式位,其中10111表示中止模式,在异常类型中,中止又分为预取址中止和数据中止。

9.ARM处理器有9种基本寻址模式,分别是:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、索引寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址。

10.arm指令集可以分为6类,分别是:__跳转指令____、___数据处理指令___、___程序状态寄存器(psr)传输指令___、___load/store指令___、___协处理器指令___、___异常中断产生指令___。

arm指令的条件代码位于指令的最高4([31:28])。

每个条件代码可以由2个字符表示,可以添加到指令助记符之后,并与指令同时使用。

11.在arm的汇编程序中,有如下几种伪指令:___符号定义伪指令__、___数据定义伪指令___、__汇编控制伪指令____、___宏指令___、___其他伪指令___。

12.汇编语言与c/c++的混合编程通常有以下几种方式:__在c/c++代码中嵌入汇编指令___、__从汇编程序中访问c程序变量____、___汇编程序、c/c++程序间的相互调用___。

ARM课后习题及答案_百度文库.

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、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。

ARM原理及应用复习题(附答案)

ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。

2.STM32F103最高工作频率___72MHz___。

片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。

IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。

5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。

6.STM32的所有端口都有外部中断能力。

当使用外部中断线时,相应的引脚必须配置成输入模式。

7.STM32具有单独的位设置或位清除能力。

这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。

8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。

9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。

10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。

12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。

简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。

ARM嵌入式系统课后答案整理版

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、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。

ARM习题库(附答案)

ARM习题库(附答案)

ARM习题库(附答案)一、判断题(共100题,每题1分,共100分)1.每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以32位字的方式访问A、正确B、错误正确答案:A2.ARM只是一种处理器架构A、正确B、错误正确答案:B3.一般情况,USB供电方式即可满足实验板供电要求,因为USB接口既可以实现数据通信,又可以为实验板提供电源。

A、正确B、错误正确答案:A4.STM32F103ZET6芯片工作温度为-40∽85℃A、正确B、错误正确答案:A5.按键输入控制引脚应当配置为上拉输入模式(GPIO_Mode_IPU)。

A、正确B、错误正确答案:A6.在计算机系统中,电源故障、内存出错、总线出错等是不可屏蔽中断。

A、正确B、错误正确答案:A7.GPIO_ReadInputDataBit的返回值是GPIO输入数据端口值。

A、正确B、错误正确答案:B8.ARM7TDMI采用3级流水线结构,ARM920TDM也是采用3级流水线。

A、正确B、错误正确答案:B9.GPIO_ResetBits函数的功能是清除指定的数据端口位A、正确B、错误正确答案:A10.voidGPIO_AFIODeInit(void)功能:将复用功能(重映射与EXTI 设置)重设为默认值。

A、正确B、错误正确答案:A11.PLL为锁相环倍频输出,其输出频率最大不得超过72MHz。

A、正确B、错误正确答案:A12.若定义任务task1的优先级为12,则不能再定义其他任务的优先级为12A、正确B、错误正确答案:A13.滤波电路采用了8个0.1uF的电容(C12-C19)并联,为CPU电源提供滤波功能。

A、正确B、错误正确答案:A14.开发板用的是220V的交流电。

A、正确B、错误正确答案:B15.数码管共阴接法是指将负极接在一起。

A、正确B、错误正确答案:A16.一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。

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

1.国内嵌入式系统行业对嵌入式系统的定义是什么?如何理解答:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

从这个定义看以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统要求进行合理的裁剪利用。

因此有人把嵌入式系统比作是一个针对特定的应用而量身定做的专用计算机系统。

2.当前最常见的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点答:嵌入式linux和嵌入式实时操作系统uc/os-IILinux:(1)linux是源码开放的,每一个技术细节都是透明的,易于裁剪定制。

(2)目前嵌入式linux已经在多种嵌入式处理器芯片移植成功,有大量且不断增加的开发工具,这些工具为嵌入式系统开发提供了良好的开发环境。

(3)Linux内核小、功能强大、运作稳定、效率高。

Ucos:(1)源代码公开(2)可移植性。

(3)可固化(4)可裁剪(5)占先式(6)多任务(7)可确定性。

(8)系统服务第2章ARM技术与ARM体系结构3.arm处理器的工作模式有哪几种,其中哪些为特权模式,哪些为异常模式,并指出处理器在什么情况下进入相应的模式。

答:ARM 处理器共有7 种工作模式:用户模式:非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。

在用户模式下,如果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式FIQ 模式:也称为快速中断模式,支持高速数据传输和通道处理,当一个高优先级(fast)中断产生时将会进入这种模式。

IRQ 模式:也称为普通中断模式,:当一个低优先级中断产生时将会进入这种模式。

在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。

通常的中断处理都在IRQ 模式下进行。

SVC 模式:称之为管理模式,它是一种操作系统保护模式。

当复位或软中断指令执行时处理器将进入这种模式。

中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。

未定义指令异常模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。

系统模式:使用和User 模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。

在这 7 种工作模式中,除了用户模式以外,其他6 种处理器模式可以称为特权模式,在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。

在这6 种特权模式中,除了系统模式外的其他5 种特权模式又称为异常模式4.分析程序状态寄存器(PSR)各位的功能描述,并说明C、Z、N、V 在什么情况下进行置位和清零。

答:PSR 的具体格式为V—溢出标志位对于加/减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V=1 表示符号位溢出,其他的指令通常不影响V 位。

C—进位或借位标志位对于加法指令(包括比较指令 CMN),结果产生进位,则C=1,表示无符号数运算发生上溢出,其他情况下C=0;在减法指令中(包括比较指令CMP),结果产生借位,则C=0,表示无符号数运算发生下溢出,其他情况下C=1;对于包含移位操作的非加/减法运算指令,C 中包含最后一次溢出位的数值;对于其他非加/减法运算指令,C 位的值通常不受影响。

Z—结果为0 标志位Z=1 表示运算结果是0,Z=0 表示运算结果不是零;对于 CMP 指令,Z=1 表示进行比较的两个数大小相等。

N—符号标志位本位设置成当前指令运算结果的bit[31]的值。

当两个补码表示有符号整数运算时,N=1 表示运算的结果为负数,N=0 表示结果为正数或零。

5.简述 ARM 处理器异常处理和程序返回的过程。

答:ARM 在异常产生时会进行以下操作:(1)将引起异常指令的下一条指令地址保存到新的异常模式的LR 中,使异常处理程序执行完后能根据LR 中的值正确返回;(2)将CPSR 的内容复制到新的异常模式下的SPSR 中;(3)根据异常类型将CPSR 模式控制位强制设定为发生异常所对应的模式值;(4)强制PC 指向相应的异常向量地址。

ARM 在异常返回时(1)从 SPSR_<mode>恢复CPSR;(2)从LR_<mode>恢复PC 。

6. ARM 处理器字数据的存储格式有哪两种?并指出这两种格式的区别。

答:(1)小端存储格式(Little-Endian)在小端存储格式中,对于地址为A 的字单元,其中字节单元由低位到高位字节地址顺序为A,A+1,A+2,A+3;对于地址为A 的半字单元,其中字节单元由低位到高位字节地址顺序为A,A+1;(2)大端存储格式(Big-Endian)在大端存储格式中,对于地址为A 的字单元,其中字节单元由高位到低位字节地址顺序为 A,A+1,A+2,A+3;对于地址为A 的半字单元,其中字节单元由高位到低位字节地址顺序为A,A+1。

第3章 ARM指令集寻址方式3.在 ARM 指令中,什么是合法的立即数?判断下面各立即数是否合法,如果合法则写出在指令中的编码格式(也就是8 位常数和4 位的移位数)。

0x5430 0x108 0x304 0x5010xFB10000 0x334000 0x3FC000 0x1FE00000x5580000 0x7F800 0x39C000 0x1FE80000答:计算步骤:(1)十六进制立即数两端0去掉(2)展成二进制(3)连续偶数个0去掉,数字中间0不去掉(4)剩下数字位数小于等于8可以,反之,不可以。

5. ARM 数据处理指令具体的寻址方式有哪些,如果程序计数器PC 作为目标寄存器,会产生什么结果?答:ARM数据处理指令寻址方式有5种1)第二操作数为立即数2)第二操作数为寄存器3)第二操作数为寄存器移位方式,且移位的位数为一个5位的立即数4)第二操作数为寄存器移位方式,且移位数值放在寄存器中5)第二操作数为寄存器进行RRX移位得到如果程序计数器PC作为目标寄存器,会发生程序跳转。

6.在 Load/Store 指令寻址中,字、无符号字节的Load/Store 指令寻址和半字、有符号字节寻址,试分析它们之间的差别。

答:字、无符号字节寻址:1)Addressing_mode中的偏移量为立即数2)Addressing_mode中的偏移量为寄存器的值3)Addressing_mode中的偏移量通过寄存器移位得到半字、有符号字节寻址:1)Addressing_mode中的偏移量为立即数2)Addressing_mode中的偏移量为寄存器的值从以上分析看出:差别就在于后者没有第三项寻址方式。

7.块拷贝 Load/Store 指令在实现寄存器组和连续的内存单元中数据传递时,地址的变化方式有哪几种类型,并分析它们的地址变化情况。

答:批量 Load/Store 指令在实现寄存器组和连续的内存单元中数据传递时,地址的变化方式(addr_mode)有以下4 种类型:后增 IA (Increment After) :每次数据传送后地址加4;先增IB (Increment Before) :每次数据传送前地址加4 ;后减 DA (Decrement After) :每次数据传送后地址减4 ;先减DB (Decrement Before) :每次数据传送前地址减4 。

8.栈操作指令地址的变化方式有哪几种类型,并分析它们的地址变化情况,从而得出栈操作指令寻址和块拷贝Load/Store 指令之间的对应关系。

答:(1) 四种类型的堆栈工作方式,即:满递增堆栈FA(Empty Ascending):堆栈指针指向最后压入的数据,且由低地址向高地址生成。

满递减堆栈FD(Full Descending):堆栈指针指向最后压入的数据,且由高地址向低地址生成。

空递增堆栈 EA(Full Ascending):堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生成。

空递减堆栈 ED(Empty Descending):堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生成。

(2) 栈操作指令寻址和块拷贝Load/Store 指令之间的对应关系见表3-10。

第4章 ARM指令集系统4. 分析下列每条语句的功能,并确定程序段所实现的操作。

CMP R0,#0MOVEQ R1,#0MOVGT R1,#1答:分析:当 R0 等于0 时,MOVEQ 执行,则R1 等于0;当 R0 等于正数时,MOVGT 执行,则R1 等于1;此功能码段可以判别 R0 中的值为正数还是0。

5. 请使用多种方法实现将字数据 0xFFFFFFFF 送入寄存器R0。

答:例如,MVN R0,#0或者:MOV R0,#0SUB R0,R0,#1还可以用其它运算指令来实现,读者自行写出。

9. 写出下列 ARM 指令所实现操作:LDR R2,[R3,#-4] !LDR R0,[R0],R2LDR R1,[R3,R2,LSL#2]!;LDRSB R0,[R2,#-2]!STRB R1,[R2,#0xA0]LDMIA R0,{R1,R2,R8}STMDB R0!,{R1-R5,R10,R11}解答:LDR R2,[R3,#-4]!将存储器地址为R3-4 的字数据读入R2,并将地址R3-4 写入R3LDR R0,[R0],R2将存储器地址为R0 的字数据读入R0,并将地址R0+R2 写入R0LDR R1,[R3,R2,LSL#2]!将存储器地址为R3+R2*4 的字数据读入R1,并将地址R3+R2*4 写入R3LDRSB R0,[R2,#-2]!将存储器地址为R2-2 的字节数据读入R0 的低8 位,将R0 的高24 位用符号位扩展,并将地址R2-2 写入R2STRB R1,[R2,#0xA0]将R0 的低8 位存入存储器地址为R2+0xA0 字节中LDMIA R0,{R1,R2,R8}将内存单元R0 所指向的地址单元以字为单位递减方式读取到R1,R2,R8 中,低地址编号的字数据内存单元对应低编号寄存器STMDB R0! {R1-R5,R10,R11}将R1-R5,R10,R11 存储到以R0 为起始地址的递减内存中,最终R0 指向存放R11的地址单元10. SWP 指令的优势是什么?答:ARM 指令支持原子操作,主要是用来对信号量的操作,因为信号量操作的要求是作原子操作,即在一条指令中完成信号量的读取和修改操作。

SWP 数据交换指令就能完成此功能,能在一条指令中实现存储器和寄存器之间交换数据。

11. 如何用带 PSR 操作的批量字数据加载指令实现IRQ 中断的返回?答:在进入IRQ中断处理子程序时,首先计算返回的地址,并保存相关的寄存器SUB R14,R14,#4STMFD R13!,{R0-R3,R12,LR}如果IRQ中断处理程序返回到被中断的进程则执行下面的指令。

相关文档
最新文档