微处理器系统结构与嵌入式系统设计.ppt

微处理器系统结构与嵌入式系统设计.ppt

ID:56372003

大小:878.50 KB

页数:52页

时间:2020-06-13

微处理器系统结构与嵌入式系统设计.ppt_第1页
微处理器系统结构与嵌入式系统设计.ppt_第2页
微处理器系统结构与嵌入式系统设计.ppt_第3页
微处理器系统结构与嵌入式系统设计.ppt_第4页
微处理器系统结构与嵌入式系统设计.ppt_第5页
资源描述:

《微处理器系统结构与嵌入式系统设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、微处理器系统结构及嵌入式系统设计通信与信息工程学院无线通信与嵌入式系统实验室阎波2021/7/31第6章ARM程序设计汇编器和汇编程序ARM汇编器所支持的伪指令符号定义、数据定义、宏和宏指令、汇编控制、其他汇编语言的语句格式ARM汇编语言程序设计程序结构、子程序调用、程序实例ARM汇编语言与C/C++的混合编程ARM工程及程序框架C与汇编之间的函数调用C/C++语言和汇编语言的混合编程符号、表达式和运算符2/52第六章习题作业:3、4、6、8、12、14~19思考:1、2、10、13*3/52第六章结束*4/52汇编语言程序设计特点1.汇编语言依赖于机器硬件,不同CPU提供的汇编指令可能有

2、很大的不同,因此汇编源程序几乎不具有移植性;但汇编语言程序速度快、效率高,更能发挥机器硬件的长处;2.汇编程序需要用户将汇编过程中需要的一些信息明确地写入源程序,如:内存逻辑段的划分情况、数据在内存中的存放情况,等等。这些信息的说明由汇编程序指定相应的伪指令来完成,并不由CPU定义;3.伪指令是在汇编过程中执行的,因而不会在机器语言程序中产生目标代码;只有CPU定义的(助记符)指令才会生成目标代码,并在程序运行过程中执行;汇编语言源程序机器语言程序(目标代码)汇编(汇编程序)高级语言源程序编译或解释(编译程序)5/524.源程序经汇编得到的目标代码实际上也是不能运行的,还要经过系统的链接定

3、位后才能生成真正的可执行文件(.EXE文件)。即一般用汇编语言开发应用软件时应依次完成以下几个步骤:(1)编辑得到源程序(2)汇编得到目标代码(解决语法错误)(3)链接得到可执行文件(解决定位错误)(4)调试得到功能正确的应用软件(解决逻辑错误)(以上第2~4步任何一步有错都应返回到第1步重来)汇编语言、汇编语言源程序、目标程序、可执行程序助记符指令、伪指令汇编、汇编器(汇编软件、汇编程序)*6/52符号定义伪指令符号类型指示符功能符号定义伪指令GBLA声明和初始化一个全局算术变量,初始值为0GBLL声明和初始化一个全局逻辑变量,初始值为{FALSE}GBLS声明和初始化一个全局字符串变量

4、,初始值为空LCLA声明和初始化一个局部算术变量,初始值为0。局部算术变量只能在宏中进行声明。LCLL声明和初始化一个局部逻辑变量,初始值为{FALSE}。局部逻辑变量只能在宏中进行声明。LCLS声明和初始化一个局部字符串变量,初始值为空。局部字符串变量只能在宏中进行声明。SETA给一个局部或全局算术变量置值SETL给一个局部或全局逻辑变量置值SETS给一个局部或全局字符串变量置值RLIST给寄存器集命名CN给一个协处理器寄存器命名CP给一个特定协处理器命名,协处理器号为0~15DN给一个双精度VFP寄存器命名SN给一个单精度VFP寄存器命名FN给一个特定的浮点寄存器命名*7/52GBLA

5、Test1;声明全局数字变量Test1,赋值为0xaaTest1SETA0xaaGBLLTest2;声明全局逻辑变量Test2,赋值为“真”Test2SETL{TRUE}GBLSTest3;声明全局字符串变量为Test3,赋值为"Testing“Test3SETS"Testing“LCLATest4;声明局部数字变量Test4,赋值为0xaaTest3SETA0xaaLCLLTest5;声明局部逻辑变量Test5,赋值为“真”Test4SETL{TRUE}LCLSTest6;声明局部字符串变量Test6,赋值为"Testing“Test6SETS"Testing“RegListRLIST{

6、R0-R5,R8,R10};声明寄存器列表RegList,LDM/STM指令可通过该名称访问寄存器列表*8/52数据定义伪指令数据定义伪指令LTORG指定一个文字池用以保存数据^或MAP指定一个内存表的首址#或FIELD指定内存表中的各数据域的长度(一般在MAP之后)%或SPACE指定一块存储器的长度并将其中单元初始化为0=或DCB分配一片连续的字节单元并初始化分配一片连续的字节单元并用于存放代码&或DCD分配一片连续的字单元并初始化(字边界对齐)DCDU分配一片连续的字单元并初始化(任意边界)DCDO分配一片连续的字单元,并初始化为到静态基址寄存器R9的偏移量(字边界对齐)DCFD分配一

7、片连续的字单元给双精度浮点数并初始化(字边界对齐)分配一片连续的字单元给单精度浮点数并初始化(字边界对齐)DCFDU分配一片连续的字单元给双精度浮点数并初始化(任意边界)分配一片连续的字单元给单精度浮点数并初始化(任意边界)DCFSDCFSUDCIDCQ分配一片连续的8字节单元并初始化(字边界对齐)DCQU分配一片连续的8字节单元并初始化(任意边界)DCW分配一片连续的半字单元并初始化(半字边界对齐)DCWU分配一片连续

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

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

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