ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt

ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt

ID:50351039

大小:2.85 MB

页数:113页

时间:2020-03-08

ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt_第1页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt_第2页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt_第3页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt_第4页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt_第5页
资源描述:

《ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第4章 ARM嵌入式系统程序设计及调试基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章ARM嵌入式系统程序设计及调试基础4.1ARM嵌入式汇编语言程序设计基础4.2ARM嵌入式C语言程序设计基础4.3ARM汇编语言与C/C++的混合编程4.4ARMADS集成开发环境的使用4.5EmbestIDE集成开发环境的使用1在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编语言程序作各种准备工作的,这些伪指令仅在汇编过程起作用,一旦汇编结束,伪指令的使命就完成。在ARM得汇编程序中,有符号定义(SymbolDefintion)

2、伪指令,数据定义(DataDefinition)伪指令,地址读取伪指令,汇编控制(AssemblyControl)伪指令,宏指令以及其它伪指令。4.1ARM嵌入式汇编语言程序设计基础4.1.1ARM汇编器支持的伪指令21.符号定义伪指令1)GBLA、GBLL和GBLS格式:GBLA(GBLL或GBLS)全局变量名用途:定义一个ARM程序中的全局变量,并将其初始化。其中GBLA伪指令用于定义一个全局的数字变量,并初始化为0;GBLL伪指令用于定义一个全局的逻辑变量,并初始化为F(假);GBLS伪指令用于定义一个全局的字符串变量,并初始化为空。由于以上3条伪指令用于定义全局变量,因此

3、在整个程序范围内变量名必须唯一。例如:GBLATest1;定义一个全局的数字变量,变量名为Test1Test1SETA0xAA;将该变量赋值为0xAAGBLLTest2;定义一个全局的逻辑变量,变量名为Test2Test2SETL{TRUE};将该变量赋值为真GBLSTest3;定义一个全局的字符串变量,变量名为Test3Test3SETS“Testing”;将该变量赋值为“Testing”32)LCLA、LCLL、LCLS格式:LCLA(LCLL或LCLS)局部变量名用途:定义一个ARM程序中的局部变量,并将其初始化。其中LCLA伪指令用于定义一个局部的数字变量,并初始化为0;

4、LCLL伪指令用于定义一个局部的逻辑变量,并初始化为F(假);LCLS伪指令用于一个局部的字符串变量,并初始化为空。由于以上3条伪指令用于声明局部变量,因此在其作用范围内变量名必须唯一。例如:LCLATest4;声明一个局部得数字变量,变量名为Test4Test4SETA0xAA;将该变量赋值为0xAALCLLTest5;声明一个局部的逻辑变量,变量名为Test5Test5SETL{TURE};将该变量赋值为真LCLSTest6;定义一个局部的字符串变量,变量名为Test6Test6SETS“Testing”;将该变量赋值为“Testing”43)SETA、SETL、SETS格式

5、:变量名SETA(SETL或SETS)表达式用途:给一个已经定义的全局变量或局部变量赋值。其中变量名为已经定义过的全局变量或局部变量,表达式为将要赋值给变量的值。SETA伪指令用于给一个数学变量赋值;SETL伪指令用于给一个逻辑变量赋值;SETS伪指令用于给一个字符串变量赋值。例如:LCLATest3;声明一个局部的数字变量,变量名为Test3Test3SETA0xAA;将该变量赋值为0xAALCLLTest4;声明一个局部的逻辑变量,变量名为Test5Test4SETL{TRUE};将该变量赋值为真54)RLIST格式:名称RLIST{寄存器列表}用途:对一个通用寄存器列表定义

6、名称,使用该伪指令定义的名称可在ARM指令LDM/STM中使用。在LDM/STM指令中,列表中的寄存器访问次序为根据寄存器的标号由低到高,而与列表中得寄存器排列次序无关。例如:RegListRLIST{R0–R5,R8,R10};将寄存器列表名称定义为RegList,可在ARM指令LDM/STM中通过该名称访问寄存器列表。62.数据定义伪指令1)DCB格式:标号DCB表达式用途:分配一片连续的字节存储单元并用伪指令中的表达式初始化。其中,表达式可以为0~255的数字或字符串。DCB伪指令也可用“=”代替。例如:StrDCB“Thisisatest!”;分配一片连续的字节存储单元并

7、初始化2)DCW(或DCWU)格式:标号DCW(或DCWU)伪指令用途:分配一片连续的半字节存储单元,并用伪指令中指定的表达式初始化。其中,表达式可以为程序标号或数字表达式。DCW伪指令和DCWU伪指令的区别仅在于用DCW伪指令分配的字存储单元是半字对齐,而用DCWU伪指令分配的字存储单元并不严格半字对齐。例如:DataTestDCW1,2,3;分配一片连续的半字存储单元并初始化73)DCD(或DCDU)格式:标号DCD(或DCDU)表达式用途:分配一片连续的字存储单元并用伪指令

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

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

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