DSP教案4(汇编工具).ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 编译连接工具的使用 两种指令的汇编语言比较 ASM500命令格式如下: asm500 [ input file [ object file [ listing file] ] ] [ -options] input file: 汇编源文件名,缺省后缀为.asm object file: 编译输出的OBJ文件名,缺省后缀为.obj listing file: 产生的列表文件名,缺省后缀为.lst options: 编译器使用的各种选择。常用选项有: -c:若使用该选项,编译器忽略字母的大小写。例如abc与ABC是一样的。系统缺省为区分大小写。 -i:设置搜索路径。通知编译器在指定的搜索路径中去查找.copy,.include中的文件。用法举例:-ic:\c54x。 -l: (小写的L)在编译时产生列表文件,缺省后缀为.lst -mg: 汇编源程序使用代数指令集 或在源代码中使用 . Algebraic -s:将所有的符号都放入符号表。若不使用该选项,编译器仅将全局变量放入符号表。 -v: 指定版本。特别是需要使用BOOTLOADER时,应加-v548开关。 汇编工具ASM500的使用举例 asm500 file1.asm enter asm500 file2 -l enter asm500 file3 -mg -l enter C54X汇编语言书写规范 语法: [label][:] 指令 [操作数] [;注释] #前缀表示立即数或直接地址 后缀B或b表示二进制常数 例如: LD #1000B,A 后缀Q或q表示八进制常数,或以0开始的常数 例如: LD #10Q,A (010,A) 十二进制常数 例如: LD #1000,A C54X汇编语言书写规范 后缀H或h表示十六进制常数 例如: LD #1000H,A 使用.set定义一个符号的值 例如 addr .set 1000h stm #addr, ar0 标号的使用 例如 b loop loop: ssbx intm 使用 .global 定义全局标号 C54X汇编语言书写规范 使用符号$表示当前PC值 例如 B $ 可以使用结构 例如 item .struct .int value .int deltat _len .endstruct . array .tag item .bss array, i_len C54X汇编语言书写规范 可以定义宏 例如 mypush .macro pshm ah pshm al pshm bh pshm bl endm 二.C54X连接工具的使用 使用LNK500命令可以将一个或多个OBJ文件连接为一个.OUT文件。在连接时,可以通过段定位控制命令将不同的代码、数据写入不同的内存单元。 注意:LNK500生成的OUT文件不是纯二进制代码文件,而是包含代码、符号表、代码定位信息的复合文件。 LNK500的使用格式: lnk500 [ -options] filename 1 . ... filename n 使用举例:lnk500 file1.obj file2.obj -o file.out LNK500命令常用的选项有: -e global_symbol: 定义程序的进入

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档