网站大量收购独家精品文档,联系QQ:2885784924

第4章 汇编语言程序设计20110922课件.ppt

  1. 1、本文档共142页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计20110922课件

第4章 汇编语言程序设计 ;目录: 4.1 C54x的软件开发过程 4.2 公共目标文件格式COFF 4.3 汇编器的伪指令 4.4 C54x汇编语言的有关知识 4.5 汇编语言程序设计;提供2种编程语言:汇编语言 C/C++语言 对于完成一般功能的代码,这两种语言都可使用,但对于一些运算量很大的关键代码,最好采用汇编语言来完成,以提高程序的运算效率。 C54x的软件开发过程可以分为文本编辑、编译、汇编和连接这样四个基本步骤,如图4-1所示。 ;第4章 汇编语言程序设计; C54x的软件开发需要借助于TI公司提供的软件开发工具:编译器、汇编器和连接器,另外还有一些辅助的软件包,如归档器、列表器和代码转换器等。 这些软件开发工具都被集成在CCS(Code Composer Studio)开发环境中。将在第6章详细介绍CCS的组成及其使用方法 ;C源文件; 汇编器和链接器生成的目标文件,是一个可以由C54x器件执行的文件。这些目标文件的格式称之为公共目标文件格式(COFF)。; COFF文件有3种类型:COFF0、COFF1、COFF2 每种类型的COFF文件,其标题格式都有所不同,但数据部分是相同的。;4.2.1分段结构 所谓“段”就是在存储器映像中占据连续空间的一段独立的代码或数据。每个目标文件都分成若干段。 ;Section( “段”)概念:一块连续的储存空间,可存放程序或数据 在编程时,“段”没有绝对定位,每个“段”都认为是从0地址开始的一块连续的储存空间,而无需关心这些“段”究竟定位在系统的哪些地方。 优点:便于程序的模块化编程;便于工程化管理:可将软件开发人员和硬件开发人员基本上分离开。 重定位:由于所有的“段”都是从0地址开始,所以程序编译完成后是无法运行的,要让程序正确运行,必须对“段”进行重新定位,这个工作由链接器完成。 .cmd文件:MEMORY命令描述系统硬件资源,SECTIONS命令描述软件人员程序中用到的“段”如何定位到恰当的硬件资源上。 ;1.已初始化段 包含程序代码、常数表格和数据。每个段都可以独立的进行重定位重定位,且可访问在其它段中定义的符号。已初始化段的值是不可修改的,因而一般将它们建立在程序存储器中。 ;2.未初始化段 是为变量在数据存储器中保留空间的。它们在目标文件中没有实际内容,只是保留出空间,在运行程序时再利用这些空间去建立和存储变量。未初始化段一般应建立在片内或片外RAM中。 ;目标文件中的段与目标存储器之间的关系: ;3. 段定义伪指令;定义已初始化段的伪指令 .text [段起点] .data [段起点] .sect “段名”[,段起点]; (1) .bss伪指令: 用于在bss段中保留若干个空间。 格式:.bss 符号, 字数 [, [块标记][, 定位标记]]; (2) .usect伪指令 用于为指定的命名段保留若干个空间。 格式: 标号 .usect “段名”,字数 [, [块标记][, 定位标记]] ;例4-1:段定义程序举例。 .text .word 1,2,3,4,5,6,7,8 .data .word 9,10,11,12 .word 13,14 .word 15,16 .sect “var1” .word 17,18 .bss x1,19 ;为.bss段保留19个字单元空间。 y1 .usect “var2”, 40; 为var2段保留40个单元空间。 ; .text段:8个16位字1~8。 .data段:8个16位字9~16。 Var1段:2个16位字17,18。 .bss段:保留19个字的连续空间,第一个单 元的标号是x1。 Var2段:保留40个字的连续空间,第一个单元的标号是y1。 ;4.2.2 汇编器对段的建立; 段程序计数器SPC;例4-2 段定义应用举例 ;汇编语言源程序:; 汇编语言源程序经过汇编后,共建立了5个段: .text段——文本段,段内有10个字可执行的程序代码 .data段——已初始化的数据段,段内有7个字的数据 vectors段——用.sect命令生成的命名

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档