基于arm的嵌入式系统应用程序设计

基于arm的嵌入式系统应用程序设计

ID:11571783

大小:2.92 MB

页数:131页

时间:2018-07-12

基于arm的嵌入式系统应用程序设计_第1页
基于arm的嵌入式系统应用程序设计_第2页
基于arm的嵌入式系统应用程序设计_第3页
基于arm的嵌入式系统应用程序设计_第4页
基于arm的嵌入式系统应用程序设计_第5页
资源描述:

《基于arm的嵌入式系统应用程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于ARM的嵌入式系统应用程序设计伪操作、宏指令与伪指令ARM汇编语言程序设计嵌入式C语言程序设计C与汇编语言混合编程基于EmbestIDEforARM环境的软件开发实例伪操作、宏指令与伪指令第一节伪操作、宏指令与伪指令两种常见的ARM编译环境GNU编译环境下的伪操作ARM汇编语言的伪指令两种常见的ARM编译环境一、两种常见的ARM编译环境1.ADS/SDTIDE开发环境ARM公司开发,使用了CodeWarrior公司的编译器;2.集成了GNU开发工具的IDE开发环境它由GNU汇编器as交叉编译器gcc链接器ld等组成。二、GN

2、U编译环境下的伪操作常量编译控制伪操作字符编译控制伪操作汇编程序代码控制伪操作宏及条件编译控制伪操作其他伪操作伪操作语法格式作用.byte.byteexpr{,expr}…分配一段字节内存单元,并用expr初始化。.hword/.short.hwordexpr{,expr}…分配一段半字内存单元,并用expr初始化。.ascii.asciiexpr{,expr}…定义字符串expr(非零结束符)。.asciz/.string.ascizexpr{,expr}…定义字符串expr(以/0为结束符)。.float/.single.f

3、loatexpr{,expr}…定义一个32bitIEEE浮点数expr。.double.doubleexpr{,expr}…定义64bitIEEE浮点数expr。word/.long/.int.wordexpr{,expr}…分配一段字内存单元,并用expr初始化。.fill.fillrepeat{,size}{,value}分配一段字节内存单元,用size长度value填充repeat次。.zero.zerosize分配一段字节内存单元,并用0填充内存。.space/.skip.spacesize{,value}分配一段内存

4、单元,用value将内存单元初始化。1.常量编译控制伪操作.byte21,48,89,0x13,0xFF.hword21,25,89,0x1133,0x77FF.ascii“Howareyou”.asciz“Iamaatudent”.float0F3.14,0F359.2E11.double0F2E1.word21,0x110033.fill8,4,0xFFFFFFFF.zero400.space10,0BFF2.字符编译控制伪操作.equ.set.equsymbol,expr.setsymbol,expr为数字常量、基于寄存器

5、的值和程序中的标号(expr)定义一个字符名称symbol。.global.globl.globalsymbol.globlsymbol声明一个符号(symbol)可被其他文件引用。伪操作语法格式作用.extern.externsymbol声明一个符号可被其他文件引用。.equnum,20.equPLLCON,0x01D80000.externImage_RO_Limit.global_start.globalFunc伪操作语法格式作用.section.sectionexpr定义域中包含的段。.text.text{subsect

6、ion}将操作符开始的代码编译到代码段或代码段子段。.data.data{subsection}将操作符开始的数据编译到数据段或数据段子段。.bss.bss{subsection}将变量存放到.bss段(为静态和全局变量保留的可读/写的数据区)或.bss段的子段。.code16/.thumb.code16.thumb表明当前汇编指令的指令集选择Thumb指令集。.code32/.arm.code32.arm表明当前汇编指令的指令集选择ARM指令集。.end.end标记汇编文件的结束行,即标号后的代码不作处理。.include.i

7、nclude“filename”将一个源文件包含到当前源文件中。.align/.balign.align{alignment}{,fill}{,max}通过添加填充字节使当前位置满足一定的对齐方式。.align4/*字对齐*/3.汇编程序代码控制伪操作.section.bss伪操作语法格式作用.macro.exitm.endm.macroacroname{parameter{,parameter}…}….endm.macro标识宏定义的开始。.endm标识宏定义的结束。用.macro及.endm定义一段代码,称为宏定义体。.ex

8、itm伪操作用于提前退出宏。.ifdef.else.endif.ifdefcondition….else….endif当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。其中else可以缺省。4.宏及条件编译控制伪操作例:宏操作。.macroHA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。