没有公告
商品简介
本书由TI公司的两个文献编译而成,编号为SPRU513的文献介绍了如何使用汇编语言工具:汇编器、归档器、目标代码链接器、交叉引用列表程序、绝对地址列表程序、十六进制转换应用程序。编号为SPRU430B的文献中的一部分介绍了C28x汇编语言指令集。由于这两部分内容紧密相关,故将其放在一起,以便读者查阅。本书主要针对从事TI公司2000系列DSP开发应用的工程技术人员,也可以作为在校研究生的参考用书。
目录
第1章 软件开发工具 11.1 软件开发工具概况 21.2 软件开发工具介绍 2第2章 通用目标文件格式介绍 42.1 段 42.2 汇编器如何处理段 52.2.1 未初始化段 62.2.2 已初始化段 62.2.3 已命名段 72.2.4 子段 82.2.5 段程序计数器 82.2.6 使用段伪指令实例 82.3 链接器如何处理段 102.3.1 默认内存分配 112.3.2 在存储器映像中存放段 122.4 重定位 12运行中的重定位 132.5 装载程序 142.6 COFF文件中的符号 142.6.1 外部符号 142.6.2 符号表 15第3章 汇编器 163.1 汇编器功能 163.2 在软件开发过程中汇编器的作用 173.3 运行汇编器 173.4 为汇编器输入的替换目录命名 193.4.1 使用–i汇编器选项 203.4.2 使用C2000_A_DIR 或 A_DIR环境变量 203.5 源程序语句格式 203.5.1 标号域 213.5.2 助记符域 223.5.3 操作数域 223.5.4 注释域 223.6 常量 223.6.1 二进制整数 233.6.2 八进制整数 233.6.3 十进制整数 233.6.4 十六进制整数 243.6.5 字符常量 243.6.6 汇编编译过程使用的(Assembly-Time)常量 243.6.7 浮点型常量 253.7 字符串 253.8 符号 253.8.1 标号 263.8.2 局部标号 263.8.3 符号常量 283.8.4 定义符号常量(–d选项) 283.8.5 预定义符号常量 293.8.6 置换符号 303.9 表达式 313.9.1 运算符 313.9.2 表达式的上溢和下溢 323.9.3 定义明确的表达式 323.9.4 条件表达式 323.9.5 合法的表达式 333.10 内嵌函数 343.11 源程序列表 353.12 交叉引用列表 363.13 灵巧的编码 373.14 汇编变量的C类型符号调试 383.15 TMS320C28x 汇编器的模式 403.15.1 C27x目标模式 403.15.2 C28x目标模式 413.15.3 C28x目标——兼容C27x的语法模式 413.15.4 C28x目标——兼容C2xlp的语法模式 41第4章 汇编伪指令 444.1 伪指令简介 444.2 与TMS320C1x/C2x/C2xx/C5x汇编伪指令的兼容性 474.3 定义段的伪指令 484.4 常数初始化伪指令 504.5 调准段程序计数器伪指令 524.6 输出列表格式伪指令 534.7 引用其他文件的伪指令 544.8 条件汇编伪指令 544. 9 汇编过程使用的符号的伪指令 554.10 汇编器模式伪指令 564.11 其他伪指令 564.12 伪指令索引表 57第5章 宏语言 995.1 宏的使用 995.2 定义宏 1005.3 宏参数/置换符号 1015.3.1 定义置换符号的伪指令 1025.3.2 内置置换符号函数 1035.3.3 递归的置换符号 1045.3.4 强制置换 1045.3.5 访问下标置换符号的单个字符 1055.3.6 在宏中作为局部变量的置换符号 1065.4 宏库 1075.5 在宏中使用条件汇编 1075.6 在宏中使用标号 1095.7 在宏中产生信息 1105.8 用伪指令格式化输出列表 1115.9 递归和嵌套宏的使用 1115.10 宏伪指令汇总 113第6章 归档器 1156.1 归档器概述 1156.2 软件开发流程中归档器的作用 1166.3 调用归档器 1166.4 归档器实例 117第7章 链接器 1207.1 链接器概述 1207.2 在软件开发流程中链接器的作用 1217.3 调用链接器 1217.4 链接器选项 1237.4.1 重定位(–a和–r选项) 1247.4.2 禁止合并符号调试信息 1257.4.3 C语言程序选项(–c和–cr选项) 1257.4.4 定义入口(–e选项) 1257.4.5 设置默认的填充值(–f fill_value 选项) 1267.4.6 全局化符号(–g symbol选项) 1267.4.7 静态化所有的全局符号(–h选项) 1267.4.8 定义堆的大小(–heap size选项) 1267.4.9 改变库的搜索路径(–l选项、–i选项和C_DIR环境变量) 1277.4.10 取消条件链接 1287.4.11 忽略分配(–k选项) 1297.4.12 创建映像文件(–m filename选项) 1297.4.13 命名输出文件(–o filename选项) 1307.4.14 隐藏运行信息(–q选项) 1307.4.15 删除符号信息(–s选项) 1307.4.16 定义堆栈的大小(–stack size选项) 1307.4.17 引入未定义的符号(–u symbol选项) 1317.4.18 当创建未定义的段时显示信息(–w选项) 1317.4.19 穷举读库(–x选项) 1317.5 链接器命令文件 1327.5.1 链接器命令文件中的保留名 1337.5.2 链接器命令文件中的常量 1347.6 目标库 1347.7 MEMORY伪指令 1357.7.1 默认的存储器模式 1357.7.2 MEMORY 伪指令格式 1357.8 SECTIONS伪指令 1387.8.1 SECTIONS伪指令的格式 1387.8.2 地址分配 1407.8.3 规定输入段 1437.9 指定一个段的运行地址 1457.9.1 指定装载和运行地址 1457.9.2 未初始化的段 1467.9.3 用.label伪指令访问装载地址 1467.10 UNION和GROUP语句的使用 1477.10.1 用UNION语句重叠段 1477.10.2 把输出段在一起分组 1497.11 重叠页 1497.11.1 用MEMORY伪指令定义重叠页 1507.11.2 重叠页实例 1507.11.3 在SECTIONS伪指令中使用重叠页 1507.11.4 对重叠页的存储器分配 1517.12 特殊段类型 1527.13 默认分配 1527.13.1 输出段的形成 1537.13.2 默认分配算法 1537.14 链接时给符号赋值 1547.14.1 赋值语句的格式 1547.14.2 将SPC赋值到一个符号 1547.14.3 赋值表达式 1557.14.4 链接器定义的符号 1567.15 创建和填充空位 1567.15.1 初始化段和未初始化段 1567.15.2 创建空位 1577.15.3 填充空位 1587.15.4 未初始化段的显式初始化 1597.16 部分(增量)链接 1597.17 链接C代码 1617.17.1 运行中的初始化 1617.17.2 目标库和运行时的支持 1617.17.3 设置堆栈和堆段的大小 1627.17.4 运行中变量的自动初始化 1627.17.5 装载时变量的自动初始化 1627.17.6 –c和–cr链接器选项 1637.18 链接器举例 163第8章 绝对列表程序 1678.1 生成绝对列表 1678.2 调用绝对列表程序 1688.3 绝对列表程序实例 169第9章 交叉引用列表程序 1739.1 生成交叉引用列表 1739.2 调用交叉引用列表程序 1749.3 交叉引用列表程序举例 175第10章 十六进制转换应用程序 17710.1 十六进制转换应用程序在软件开发 流程中的作用 17810.2 调用十六进制转换应用程序 17810.2.1 从命令行调用十六进制转换应用程序 17910.2.2 用命令文件调用十六进制转换应用程序 18010.3 存储器宽度 18110.3.1 目标宽度 18110.3.2 存储器宽度 18110.3.3 数据划分到输出文件 18210.3.4 规定输出字的字次序 18410.4 ROMS伪指令 18410.4.1 何时使用ROMS伪指令 18610.4.2 ROMS伪指令举例 18610.5 SECTIONS伪指令 18810.6 分配输出文件名 18910.7 映像模式和填充(–fill)选项 19010.7.1 生成一个存储器映像 19010.7.2 填充值 19110.7.3 在映像模式下所遵循的步骤 19110.8 控制ROM器件地址 19110.9 目标格式 19210.9.1 ASCII-Hex目标格式(–a选项) 19210.9.2 Intel MCS-86目标格式(–i选项) 19310.9.3 Motorola-S目标格式(–m选项) 19410.9.4 TI-Tagged SDSMAC目标格式(–t选项) 19410.9.5 扩展Tektronix目标格式(–x选项) 19510.10 十六进制转换应用程序错误信息 196第11章 C28x汇编语言指令集 19711.1 指令概述(按功能分类) 19711.2 寄存器操作 199附录A 通用目标文件格式 428附录B 符号调试伪指令 444附录C 汇编器错误信息 453附录D 链接器错误信息 465附录E 术语表 477