嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3

上传人:s9****2 文档编号:569796730 上传时间:2024-07-31 格式:PPT 页数:30 大小:214KB
返回 下载 相关 举报
嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3_第1页
第1页 / 共30页
嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3_第2页
第2页 / 共30页
嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3_第3页
第3页 / 共30页
嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3_第4页
第4页 / 共30页
嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3》由会员分享,可在线阅读,更多相关《嵌入式体系结构及接口技术:第6章 ARM汇编伪指令与伪操作3(30页珍藏版)》请在金锄头文库上搜索。

1、1TM1内容提要内容提要61汇编语言伪指令汇编语言伪指令62ARM汇编语言伪操作汇编语言伪操作63ARM汇编伪操作汇编伪操作64GNUARM汇编伪操作汇编伪操作2TM264GNUARM汇编伪操作汇编伪操作在嵌入式系统开发中,不可避免的要使用在嵌入式系统开发中,不可避免的要使用GNU工具,要进行嵌入式工具,要进行嵌入式LINUX的移植与开发,其中与硬的移植与开发,其中与硬件直接相关的部分要用汇编语言来编程。件直接相关的部分要用汇编语言来编程。3TM3641符号定义伪操作符号定义伪操作1常量定义伪操作常量定义伪操作.equ或或.set语法格式语法格式:.equ symbol,expr.setsym

2、bol,expr其中:其中:symbol为要指定的名称,为要指定的名称,它可以是以前定义过的符号;它可以是以前定义过的符号;expr表示数字常量或程序中的标号。表示数字常量或程序中的标号。4TM42常量定义伪操作常量定义伪操作.equiv语法格式语法格式:.equivsymbol,expr其中:其中:symbol为要指定的名称,为要指定的名称,它不可以是以前定义过它不可以是以前定义过的符号;的符号;expr 表示数字常量或程序中的标号。表示数字常量或程序中的标号。5TM53声明全局常量伪操作声明全局常量伪操作.global或或.globl语法格式语法格式:.globalsymbol.globl

3、symbol其中:其中:symbol为要声明的全局变量名称为要声明的全局变量名称6TM64声明外部常量伪操作声明外部常量伪操作.extern语法格式语法格式:.externsymbol其中:其中:symbol为要声明的外部变量名称为要声明的外部变量名称7TM7642数据定义伪操作数据定义伪操作1字节定义字节定义.byte语法格式语法格式:.byte expr,expr其中:其中:expr数字表达式或程序中的标号。数字表达式或程序中的标号。8TM82半字定义半字定义.hword或或.short语法格式语法格式:.hwordexpr,expr.shortexpr,expr其中:其中:expr数字表

4、达式或程序中的标号。数字表达式或程序中的标号。9TM93字定义字定义.word或或.int或或.long语法格式语法格式:.wordexpr,expr.intexpr,expr.longexpr,expr其中:其中:expr数字表达式或程序中的标号。数字表达式或程序中的标号。10TM104字符串定义字符串定义.ascii和和.asciz或或.string语法格式语法格式:.asciiexpr,expr.ascizexpr,expr.stringexpr,expr其中:其中:expr表示字符串。表示字符串。11TM115双字定义双字定义.quad语法格式语法格式:.quadexpr,expr其中

5、:其中:expr数字表达式。数字表达式。12TM126四字定义四字定义.octa语法格式语法格式:.octa expr,expr其中:其中:expr数字表达式。数字表达式。13TM137单精度浮点数定义单精度浮点数定义.float或或.single语法格式语法格式:.float expr,expr.singleexpr,expr.其中:其中:expr为为32位的位的IEEE单精度浮点数。单精度浮点数。14TM148双精度浮点数定义双精度浮点数定义.double语法格式语法格式:.doubleexpr,expr其中:其中:expr为为32位的位的IEEE单精度浮点数。单精度浮点数。15TM159

6、重复内存单元定义重复内存单元定义.fill语法格式语法格式:.fillrepeat,size,value其中:其中:repeat重复填充的次数;重复填充的次数;size每次所填充的字节数;每次所填充的字节数;value所填充的数据。所填充的数据。16TM169零填充字节内存单元定义零填充字节内存单元定义.zero语法格式语法格式:.zerosize其中:其中:size所分配的所分配的0填充字节数填充字节数17TM1710固定填充字节内存单元定义固定填充字节内存单元定义.space或或.skip语法格式语法格式:.spacesize,value.skip size,value其中:其中:size

7、所分配的字节数所分配的字节数18TM1811.声明数据缓冲池声明数据缓冲池.ltorg语法格式语法格式.ltorg19TM196.4.3汇编与反汇编代码控制伪操作汇编与反汇编代码控制伪操作1.指令集类型标识伪操作指令集类型标识伪操作.arm.code32.thumb.code1620TM206.4.3汇编与反汇编代码控制伪操作汇编与反汇编代码控制伪操作2.段属性定义伪操作段属性定义伪操作语法格式如下:语法格式如下:.sectionexpr其中:其中:expr为段属性,可以是为段属性,可以是.text、.data、.bss中中的一个。的一个。21TM213.段起始声明伪操作段起始声明伪操作具体的

8、语法格式如下:具体的语法格式如下:.text.data.bss22TM2223TM234.对齐方式设置伪操作对齐方式设置伪操作.align或或.balign语法格式语法格式:.align alignment,fill.balignvalignment,fill其中:其中:alignment是一个数值表达式,用于指定对齐方式,其取值在是一个数值表达式,用于指定对齐方式,其取值在015范围内;范围内;fill用来指定进行填充的数据。用来指定进行填充的数据。24TM245.代码位置设置伪操作代码位置设置伪操作.org语法格式语法格式:.orgoffset,expr其中:其中:offset是一个数值表

9、达式,表示地址偏移量;是一个数值表达式,表示地址偏移量;expr用来指定进行填充的数据。用来指定进行填充的数据。25TM256.4.4预定义控制伪操作预定义控制伪操作汇编器在对程序代码进行编译时,会根据汇编控制伪汇编器在对程序代码进行编译时,会根据汇编控制伪操作的定义情况对程序进行编译,常用的有条件编译、操作的定义情况对程序进行编译,常用的有条件编译、宏定义和文件包含宏定义和文件包含26TM261条件编译伪操作条件编译伪操作.if语法格式:语法格式:.iflogical_expression程序代码段程序代码段A.else程序代码段程序代码段B.endif27TM272.宏定义伪操作宏定义伪操

10、作.macro语法格式:语法格式:.macromacroname parameter,parameter程序代码段程序代码段.endm其中:其中:28TM283文件包含伪操作文件包含伪操作.include.include伪操作用于将一个源文件包含到当前的源文伪操作用于将一个源文件包含到当前的源文件中,所包含的文件在件中,所包含的文件在.include指令的位置处进行汇指令的位置处进行汇编处理。编处理。语法格式语法格式:.includefile_name29TM29思考与练习题思考与练习题1.定义一个结构化的内存表,其首地址固定为定义一个结构化的内存表,其首地址固定为0x900,该结构化内存表包含,该结构化内存表包含2个域,个域,Fdata1长度为长度为8个字节,个字节,Fdata2长度为长度为160个字节。个字节。2.有有ARMADS伪操作将寄存器列表伪操作将寄存器列表R0-R5、R7、R8的名称定义为的名称定义为Reglist。30TM第第6章章ARM汇编伪指令与伪操作汇编伪指令与伪操作TheEnd

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号