第3章汇编语言程序开发工具(免费阅读).pptVIP

第3章汇编语言程序开发工具(免费阅读).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文档。上传文档
查看更多
2003.2.16 DSP原理及应用 3.2 汇编语言程序的编写方法 程序行一般包含4个部分,其一般组成形式为: [标号][:] 助记符 [操作数] [;注释] 1.标号区 所有汇编指令和大多数汇编伪指令前面都可以带有标号;标号最多可达32个字符,由A~Z、a~z、0~9、_、和$符号组成;且第一个字符不能是数字,区分大小写。 如果不用标号,则第一个字母必须为空格、分号或星号。 2.助记符区 助记符指令、汇编伪指令、宏指令和宏调用。助记符区不能从第一列开始,否则被认为是标号。 3.操作数区 操作数区是一个操作数列表,可以是常数、符号或常数与符号构成的表达式。操作数间需用“,”号隔开。有的指令无操作数。 4.注释区 注释用分号(;)标注,可以从任何一列开始,如果从第一列开始也可用星号(*)标注;可以包含ASCII字符和空格;是任选项。 常用的汇编伪指令(汇编命令)如表3-1。 表3-1 常用汇编伪指令 补充: .def 定义一个或多个符号,可在别的 模块中使用; .ref 标识当前模块中使用的符号是在 另一个模块中定义的; .global 可以是上面随便哪一种情况; .mmregs 将‘C54X各寄存器名定义为全局符号, 这样可以无须再定义这些符号,而直 接引用寄存器; C编译器对C语言源文件编译生成汇编语言源文件后除了生成3个基本段,即.text、.data、.bss外,还生成.cinit、.const、. switch、.stack、 .sysmem段。 .stack不同于DSP汇编指令定义的堆栈。DSP汇编程序中要将堆栈指针SP指向一块RAM,用于保存中断、调用时的返回地址,存放PUSH指令的压栈内容。 .stack定义的系统堆栈实现的功能是保护函数的返回地址,分配局部变量,在调用函数时用于传递参数,保护临时结果。 .stack定义的段大小(堆栈大小)可用链接器选项-stack size设定;链接器还产生一个全局符号_STACK_SIZE,并赋给它等于堆栈长度的值,以字为单位,缺省值为1K。 第3章 汇编语言程序开发工具 3.6.1 链接器命令文件的编写与使用 链接命令文件为ASCⅡ文件,可包含以下内容: (1) 输入文件名,用来指定要链接的目标文件。 (2) 链接器选项,它们在命令文件中的使用方法与在命令行中相同。 (3) MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和地址分配。 (4) 赋值说明,用于给全局符号定义和赋值。 第3章 汇编语言程序开发工具 【例】 链接器命令文件举例。 a.obj b.obj /* 输入文件名 */ -l rts.lib /*指定库文件的选项*/ -o prog.out /*指定输出文件的选项*/ -m prog.map /*指定map文件的选项*/ MEMORY /*MEMORY 伪指令*/ { PAGE 0: ROM:origin=1000h, length=0100h PAGE 1: RAM:origin=0100h, length=0100h } SECTIONS /*SECTIONS伪指令*/ { .text : ROM .data : ROM .bss : RAM } 第3章 汇编语言程序开发工具 注:在链接器命令文件中,不能采用下列符号作为段名或符号名: align DSECT len o run ALIGN f length org RUN attr fill LENGTH origin SECTIONS ATTR FILL load ORIGIN spare block group LOAD page type BLOCK GROUP MEMORY PAGE TYPE COPY l(小写L) NOLOAD range U

文档评论(0)

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

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

1亿VIP精品文档

相关文档