微机原理和嵌入式系统chapter_4_ARM7TDMI汇编语言程序设计.pptVIP

微机原理和嵌入式系统chapter_4_ARM7TDMI汇编语言程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西安邮电学院 计算机系 第四章 ARM7TDMI汇编语言 程序设计 1.汇编语言的基本概念 程序设计语言是专门为计算机编程所配置的语言。它们按照形式与功能的不同可分为三种,即机器语言、汇编语言和高级语言。 1. 机器语言 机器语言(Machine Language)是由0和1二进制代码书写和存储的指令与数据。它的特点是能被机器直接识别与执行;程序所占内存空间较少。其缺点是难认、难记、难编、易错。 2. 汇编语言 汇编语言(Assembly Language)是一种面向物理层操作的计算机语言,是一种采用助记符表示的程序设计语言,使用助记符来表示指令的操作码和操作数,用标号或符号代表地址、常量或变量。 3. 高级语言 高级语言(High Level Language)是脱离具体机器(即独立于机器)的通用语言,不依赖于特定计算机的结构与指令系统。 2. ARM汇编程序的组成与结构 2.1 汇编器伪指令 ARM汇编语言程序中,有一些特殊的指令助记符,称为汇编器伪指令。它们无论表示形式或其在程序中所处的位置,都与指令相似,它们在源程序中都占据一行,但二者之间有着重要的区别。 指令是供CPU执行的操作命令,每条指令对应CPU的一种特定操作,在用户代码运行期间执行;而汇编器伪指令是供汇编器处理的命令,在汇编过程中由汇编器进行处理,例如定义数据、分配存储区、定义段、定义宏等; 汇编以后,每条指令产生一一对应的二进制目标代码;而汇编器伪指令则不产生与之对应的目标代码。 2.2 ARM汇编程序中的数据定义 数据定义的目的是为目标系统数学模型的各种抽象数据类型分配存储单元,同时进行初始化。 DCB、DCW和DCD汇编器伪指令 string DCB “Hello World!” ;分配一片连续的字节存储单元并初始化 halfword DCW 1,2,3 ;分配一片连续的半字存储单元并初始化 word DCD 1,2,3 ;分配一片连续的字存储单元并初始化 SPACE汇编器伪指令 data SPACE 1024 ;分配一片连续的存储区域并初始化为0 LTORG汇编器伪指令 LTORG用于声明一个文字池(literal pool),用于存放常量。 ARM汇编语言提供了LDR加载指令附加文字池的方法,文字池中可以存放任意的32比特数,LDR加载指令相对寻址文字池,以实现对任意立即数的访问。 缺省文字池 AREA default, CODE, READONLY ENTRY CODE32 start LDR R1, =0xABCDEF LDR R2, =0x101 ADD R3, R1, R2 B . ;汇编器默认的文字池位置,常数0xABCDEF、0x101即存放于此 END 自定义文字池 AREA default, CODE, READONLY ENTRY CODE32 start LDR R1, =0xABCDEF LDR R2, =0x101 ADD R3, R1, R2 B branch … ;其它汇编代码 branch … ;其它汇编代码 other SPACE 4096 END 1. 结构化程序设计的基本概念 迪杰斯克拉(E.W.dijkstra)在1969年提出结构化程序设计的基本思想 采用“自顶向下,逐步求精”的程序设计方法。 “单入口单出口”的控制结构。 2.汇编语言程序设计的流程 使用计算机通过编程序解决某一问题时,通常按以下步骤进行: 分析问题,建立数学模型; 确定算法 ; 设计程序流程图 ; 合理分配寄存器、存储空间和外设资源 ; 编制程序 ; 调试程序 ; 形成文档 ; 3.顺序程序设计 顺序程序是一种最简单的程序结构,也称为直线程序,它的执行自始自终按照语句的先后顺序进行。这种结构的流程图,除了有一个起始框,一个终止框外,就是若干执行框。 例 4?2 试编制一程序,完成10+3的操作。 4.分支程序设计 许多实际问题需要根据不同的情况作出不同的处理。在程序中,把不同的处理方法编制成各自的处理程序段,运行时由机器根据不同的条件自动作出判断,选择执行相应的处理程序段。这样的程序结构中,计算机不再完全按指令存储的顺序执行,称之为分支。分支程序使用子程序调用指令BL、转移指令B或带状态转移指令BX来实现。 例 4?3 给定以下符号函数: 5.循环程序设计 顺序程序和分支程序中的指令每次运行最多只执行一次。在实际应用中重复地做某些事的情况是很多的,这也是计算机最擅长的工作方式。重复地执行某些指令,最好用循环程序来实现。

文档评论(0)

lyxbb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档