书签 分享 收藏 举报 版权申诉 / 21
上传文档赚钱

类型嵌入式系统基础及应用第三章课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3729844
  • 上传时间:2022-10-07
  • 格式:PPT
  • 页数:21
  • 大小:110.81KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《嵌入式系统基础及应用第三章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式 系统 基础 应用 第三 课件
    资源描述:

    1、ARM汇编编程汇编编程ARMARM汇编程序组成汇编程序组成zARM汇编语言源程序中语句由指令、伪操汇编语言源程序中语句由指令、伪操作和宏指令组成作和宏指令组成y在在ARM汇编语言程序中,有一些特殊指汇编语言程序中,有一些特殊指令助记符,这些助记符没有相应的操作令助记符,这些助记符没有相应的操作码,他们所完成的操作称为伪操作。在码,他们所完成的操作称为伪操作。在源程序中的作用是为完成汇编程序作各源程序中的作用是为完成汇编程序作各种准备工作的。种准备工作的。y宏是一段独立的程序代码,在程序中通宏是一段独立的程序代码,在程序中通过宏指令调用该宏过宏指令调用该宏常用的伪操作常用的伪操作zAREA伪操作

    2、用于定义一个代码段或数据伪操作用于定义一个代码段或数据段段yAREA 段名段名,属性属性1,属性属性2 y一个大的程序可以包括多个代码段和数据段。一个大的程序可以包括多个代码段和数据段。一个汇编程序至少包含一个段一个汇编程序至少包含一个段 y AREA Example1,CODE,READONLYy AREA Example2,DATA,READWRITE常用的伪操作常用的伪操作zEQU伪操作用于为程序中的常量、标号等伪操作用于为程序中的常量、标号等定义一个等效的字符名称定义一个等效的字符名称y名称名称 EQU 表达式表达式,类型类型 yabcd EQU 50;定义标号;定义标号abcd的值为

    3、的值为50y名称为名称为EQU伪操作定义的字符名称,当表达伪操作定义的字符名称,当表达式为式为32位的常量时,可以指定表达式的数据类位的常量时,可以指定表达式的数据类型,可以有以下三种类型:型,可以有以下三种类型:yCODE16 CODE32 DATAyAddr EQU 0 x54,CODE32;定义定义Addr的值的值为为0 x54,且该处为,且该处为32位的位的ARM指令。指令。常用的伪操作常用的伪操作zENTRY和和ENDyENTRY用于指定汇编程序的入口用于指定汇编程序的入口y每一个汇编源程序都包含每一个汇编源程序都包含END为操作,以告为操作,以告诉本源程序的结束诉本源程序的结束yA

    4、REA Example1,CODE,READONLYyENTRYyEND常用的伪操作常用的伪操作zEXPORT或或GLOBALyEXPORT用于在程序中声明一个全局的标号用于在程序中声明一个全局的标号,该标号可在其他的文件中引用,可用,该标号可在其他的文件中引用,可用GLOBAL代替。代替。yAREA Example,CODE,READONLYyEXPORT DoAdd ;下面的函;下面的函数名称数名称DoAdd可以被其他源文件引用可以被其他源文件引用yDoAdd ADD r0,r0,r1常用的伪操作常用的伪操作zCODE16及及CODE32y若在汇编源程序中同时包含若在汇编源程序中同时包含

    5、ARM 指令和指令和 Thumb 指指令时,可用令时,可用 CODE16 伪指令通知编译器其后的指令序伪指令通知编译器其后的指令序列为列为 16 位的位的 Thumb 指令,指令,CODE32 伪指令通知编伪指令通知编译器其后的指令序列为译器其后的指令序列为 32 位的位的 ARM 指令。因此,指令。因此,在使用在使用 ARM 指令和指令和 Thumb 指令混合编程的代码里指令混合编程的代码里,可用这两条伪指令进行切换,但注意他们只通知编,可用这两条伪指令进行切换,但注意他们只通知编译器其后指令的类型,并不能对处理器进行状态的切译器其后指令的类型,并不能对处理器进行状态的切换。换。AREA E

    6、xample,CODE,READONLYCODE32 ;通知编译器后面的指令为;通知编译器后面的指令为32位的位的 ARM指令指令LDR R0,=start+1BX R0CODE16StartMOV R1,#10常用的伪操作常用的伪操作zIMPORT 伪操作告诉编译器当前的符号不伪操作告诉编译器当前的符号不是在本源文件中定义的,而是在其他源文是在本源文件中定义的,而是在其他源文件中定义的,在本源文件中可能引用该符件中定义的,在本源文件中可能引用该符号号zIMPORT Main;通知编译器当前文件要;通知编译器当前文件要引用标号引用标号Main,但,但Main在其他文件中定在其他文件中定义义宏定

    7、义宏定义z 使用宏定义可以提高程序的可读性,简化程序代码和同步使用宏定义可以提高程序的可读性,简化程序代码和同步修改。修改。ARM宏定义与标准宏定义与标准C的的#define相似。相似。z 宏定义从宏定义从MACRO伪指令开始,到伪指令开始,到MEND结束,并可以使结束,并可以使用参数。用参数。z 宏要先定义,然后再使用,使用时直接书写宏名,并根据宏要先定义,然后再使用,使用时直接书写宏名,并根据对应的宏定义格式设置输入参数或书写标号等,当源程序对应的宏定义格式设置输入参数或书写标号等,当源程序被汇编时,汇编编译器将展开每一个宏调用,用宏定义体被汇编时,汇编编译器将展开每一个宏调用,用宏定义体

    8、代替程序中的宏调用,并使用实际的参数值代替宏定义时代替程序中的宏调用,并使用实际的参数值代替宏定义时的形式参数。的形式参数。z MACROz$label macroname$parameter,$parameterz MENDARMARM汇编编程例子汇编编程例子AREA Add,CODE,READONLY;程序起始定义;程序起始定义ENTRY ;第一条指令的标示符,只能有一个;第一条指令的标示符,只能有一个 ;下面是程序主体;下面是程序主体StartMOV r0,#1MOV r1,#2BL doadd ;调用子程序;调用子程序doaddADD r0,r0,r1 ;r0=r0+r1MOV pc,

    9、lrEND ;END伪指令必须和伪指令必须和ENTRY配对使用配对使用 ARMARM汇编编程例子汇编编程例子C C语言与汇编语言语言与汇编语言z在应用系统的程序设计中,若所有的编程在应用系统的程序设计中,若所有的编程任务均用汇编语言来完成,其工作量是可任务均用汇编语言来完成,其工作量是可想而知的,同时不利于系统升级或应用软想而知的,同时不利于系统升级或应用软件移植件移植zARM体系结构支持体系结构支持C/C+以及与汇编语以及与汇编语言的混合编程,在一个完整的程序设计中言的混合编程,在一个完整的程序设计中,除了初始部分用汇编语言完成以外,其,除了初始部分用汇编语言完成以外,其主要的编程任务一般都

    10、用主要的编程任务一般都用C/C+完成完成从汇编程序中访问从汇编程序中访问C C变量变量从从C C程序中调用汇编程序程序中调用汇编程序Any Question?习题与思考习题与思考z ARM处理器有几种工作状态?各个状态处理器有几种工作状态?各个状态之间如何切换?之间如何切换?z ARM处理器的工作模式有哪几种?什么处理器的工作模式有哪几种?什么情况下会发生工作模式的改变?情况下会发生工作模式的改变?z 简述简述ARM处理器处理异常的过程。处理器处理异常的过程。z ARM处理器有几种存储格式?有什么不处理器有几种存储格式?有什么不同?同?z 简述简述ARM处理器的寻址方式,并举例处理器的寻址方式

    11、,并举例。z 试分析下面几段试分析下面几段ARM汇编程序的执行结果:汇编程序的执行结果:z(1)AREA Example,CODE,READONLYzEXPORTtestzIMPORT test1zENTRY testzLDRR1,=testzLDRR0,R1zADD R0,R0,#1zSTRR0,R1zMOV PC,LRzENDz AREACDO,CODE,READONLY z CODE32 z ADD_SIXz GLOBALADD_SIXz STMFDR13,R4,R5z LDR R4,R13 z LDR R5,R13,#4!z ADD R0,R0,R1z ADD R0,R0,R2z ADD R0,R0,R3z ADD R0,R0,R4z ADD R0,R0,R5z SUBR13,R13,#8z LDMFDR13,R4,R5 z MOVR15,R14z END

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:嵌入式系统基础及应用第三章课件.ppt
    链接地址:https://www.163wenku.com/p-3729844.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库