[信息与通信]第4章 汇编语言程序开发工具.pptVIP

  • 1
  • 0
  • 约2.76万字
  • 约 84页
  • 2018-02-15 发布于浙江
  • 举报

[信息与通信]第4章 汇编语言程序开发工具.ppt

[信息与通信]第4章 汇编语言程序开发工具

2003.2.16 DSP原理及应用 第4章 汇编语言程序开发工具 1. SECTIONS指令语法 ② 运行存储器分配 用于定义段运行时的存储器地址。 语法格式: run=allocation 或 run allocation 第4章 汇编语言程序开发工具 1. SECTIONS指令语法 链接器为段在目标存储器中分配两个地址: 加载的地址——由装入存储器分配完成 执行程序的地址——由运行存储器分配完成 通常,这两个地址是相同的。 若要想把程序的加载区分开,先将程序加载到ROM,然后在RAM中运行,则用SECTIONS命令让链接器对这个段定位两次即可。 例如: .fir: load=ROM,run=RAM 第4章 汇编语言程序开发工具 1. SECTIONS指令语法 ③ 输入段 用于定义组成输出段的输入段。 语法格式: {input_sections} 大多数情况下,在SECTIONS命令中是不列出每个输入文件的输入段的段名。 例如: SECTIONS { .text: .data: .bss } 链接时:在输入文件中的 所有.text段链接成.text输出段 所有.data段链接成.data输出段 所有.bss段链接成.bss输出段 第4章 汇编语言程序开发工具 1. SECTIONS指令语法 用文件名和段名来规定输入段。 SECTIONS { .text: /*创建 .text 输出段*/ { f1.obj(.text) /*链接来自f1.obj文件中的.text 段*/ f2.obj(sec1) /*链接来自f2.obj文件中的sec1 段*/ f3.obj /*链接来自f3.obj文件中的所有段*/ f4.obj(.text,sec2) /*链接f4.obj文件中的.text 段和sec2段*/ } } 第4章 汇编语言程序开发工具 4.5.5 SECTIONS指令 2. SECTIONS指令的使用 【例4.5.3】SECTIONS指令的使用。 file1.obj file2.obj -o Prog.out SECTIONS { .text: load=ROM,run=800h .con: load=ROM .bss: load=RAM .vec: load=FF80h { t1.obj(.int1) t2.obj(.int2) endvec=.; } .data: align=16 } 两个输入文件 链接命令选项 指令字 输 出 段 说 明 语 句 第4章 汇编语言程序开发工具 2. SECTIONS指令的使用 【例4.5.3】SECTIONS指令的使用。 file1.obj file2.obj -o Prog.out SECTIONS { .text: load=ROM,run=800h .con: load=ROM .bss: load=RAM .vec: load=FF80h { t1.obj(.int1) t2.obj(.int2) endvec=.; } .data: align=16 } 输出段 加载地址 运行地址 .text ROM RAM 800h .con ROM .bss RAM .vec ROM FF80 .data RAM 16位边界 第4章 汇编语言程序开发工具 2. SECTIONS指令的使用 【

文档评论(0)

1亿VIP精品文档

相关文档