ARM嵌入式系统结构与编程:第6章 ARM汇编伪指令与伪操作_第1页
ARM嵌入式系统结构与编程:第6章 ARM汇编伪指令与伪操作_第2页
ARM嵌入式系统结构与编程:第6章 ARM汇编伪指令与伪操作_第3页
ARM嵌入式系统结构与编程:第6章 ARM汇编伪指令与伪操作_第4页
ARM嵌入式系统结构与编程:第6章 ARM汇编伪指令与伪操作_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内容提要6.1汇编语言伪指令6.2ARM汇编语言伪操作6.3ARM汇编伪操作6.4GNUARM汇编伪操作6.4 GNUARM汇编伪操作在嵌入式系统开发中,不可避免的要使用GNU工具,要进行嵌入式LINUX的移植与开发,其中与硬件直接相关的部分要用汇编语言来编程。6.4.1 符号定义伪操作1.常量定义伪操作.equ或.set语法格式:.equ symbol,expr.set symbol,expr其中:symbol为要指定的名称,它可以是以前定义过的符号;expr

表示数字常量或程序中的标号。2.常量定义伪操作.equiv语法格式:.equiv symbol,expr其中:symbol 为要指定的名称,它不可以是以前定义过的符号;expr

表示数字常量或程序中的标号。3.声明全局常量伪操作.global或.globl语法格式:.global symbol.globl symbol其中:symbol 为要声明的全局变量名称4.声明外部常量伪操作.extern语法格式:.extern symbol其中:

symbol 为要声明的外部变量名称6.4.2 数据定义伪操作1.字节定义.byte语法格式:.byte expr{,expr}…其中:expr

数字表达式或程序中的标号。2.半字定义.hword或.short语法格式:.hword

expr{,expr}…..short expr{,expr}…其中:expr

数字表达式或程序中的标号。3.字定义.word或.int或.long语法格式:.word expr{,expr}…..int

expr{,expr}….long expr{,expr}…其中:expr

数字表达式或程序中的标号。4.字符串定义.ascii和.asciz或.string语法格式:.ascii

expr{,expr}….asciz

expr{,expr}….string expr{,expr}…其中:expr

表示字符串。5.双字定义.quad语法格式:.quad expr{,expr}…其中:expr

数字表达式。6.四字定义.octa

语法格式:.octa expr{,expr}…其中:expr

数字表达式。7.单精度浮点数定义.float或.single语法格式:.float expr{,expr}…..single expr{,expr}….其中:expr

为32位的IEEE单精度浮点数。8.双精度浮点数定义.double语法格式:.double expr{,expr}…其中:expr

为32位的IEEE单精度浮点数。9.重复内存单元定义.fill语法格式:.fill repeat{,size}{,value}其中:repeat 重复填充的次数;size 每次所填充的字节数;value 所填充的数据。9.零填充字节内存单元定义.zero语法格式:.zerosize其中:

size 所分配的0填充字节数10.固定填充字节内存单元定义.space或.skip语法格式:.space size{,value}.skip size{,value}其中:

size 所分配的字节数11.声明数据缓冲池.ltorg语法格式

.ltorg6.4.3汇编与反汇编代码控制伪操作1.指令集类型标识伪操作.arm.code32.thumb.code166.4.3汇编与反汇编代码控制伪操作2.段属性定义伪操作语法格式如下:.sectionexpr其中:expr

为段属性,可以是.text、.data、.bss中的一个。3.段起始声明伪操作具体的语法格式如下:.text.data.bss4.对齐方式设置伪操作.align或.balign语法格式:.align {alignment}{,fill}.balignv{alignment}{,fill}其中:alignment是一个数值表达式,用于指定对齐方式,其取值在0~15范围内;fill 用来指定进行填充的数据。5.代码位置设置伪操作.org

语法格式:.org offset{,expr}

其中:offset是一个数值表达式,表示地址偏移量;expr

用来指定进行填充的数据。6.4.4预定义控制伪操作汇编器在对程序代码进行编译时,会根据汇编控制伪操作的定义情况对程序进行编译,常用的有条件编译、宏定义和文件包含1.条件编译伪操作.if语法格式:.if logical_expression程序代码段A {.else程序代码段B}.endif

2. 宏定义伪操作.macro语法格式:.macro{ macroname {parameter{,parameter}…}程序代码段.endm其中: 3.文件包含伪操作.include.include伪操作用于将一个源文件包含到当前的源文件中,所包含的文件在.include指令的位置处进行汇编处理。语法格式:.include "file_name"思考与练习题1.定义一个结构化的内存表,其首地址固定为0x900,该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论