例42经汇编后,得列表文件(部分): 冰冰冰冰本冰冰冰冰冰 33 冰 汇编更多代码到text段* 34 冰冰冰冰本冰冰体冰水冰 350005 text 360005110ampy:LD OAh, B 37 0006 f166 loop MPY#OAh, B 0007000a 380008f868 BC loop, BNOV 00090006 39 *冰*冰*冰冰冰冰k**** 40 为中断向量 vectors定义一个自定义段 41 *冰*冰林体冰冰k** 420000 sect vectors 4300000011 word 011h,033h 00010033
32 **************************************** 33 ** 汇编更多代码到.text段 ** 34 **************************************** 35 0005 .text 36 0005 110a mpy: LD 0Ah,B 37 0006 f166 mloop MPY #0Ah,B 0007 000a 38 0008 f868 BC mloop,BNOV 0009 0006’ 39 **************************************** 40 为中断向量.vectors定义一个自定义段 41 **************************************** 42 0000 .sect “vectors” 43 0000 0011 .word 011h,033h 0001 0033 源程序 的行号 段程序 计数器 目标 代码 汇编语言 源程序 例4-2 经汇编后,得列表文件(部分):
例42经汇编后,共建立了5个段 行号SPc且标 行号目标代码段名 代码 *** text 234 **汇编一个初始化表到data段* *** 50000 data 600000011cff.word011h022h,033h 600010022 600020033 data 789 *冰**林 **在.bss段中为变量保留空间**14 100000 bss buffer, 10 **冰冰*冰k*林 vectors 12 仍然在.data段中 13 *水*水**冰冰********10 数遇.bss 1400030123prt word 0123h newvars
2 ******************************* 3 ** 汇编一个初始化表到.data段 ** 4 ******************************* 5 0000 .data 6 0000 0011 coeff .word 011h,022h,033h 0001 0022 0002 0033 7 ******************************* 8 ** 在.bss段中为变量保留空间 ** 9 ******************************* 10 0000 .bss buffer,10 11 ******************************* 12 ** 仍然在.data 段中 ** 13 ******************************* 14 0003 0123 prt .word 0123h 行号 目标代码 段名 100f f010 0001 f842 0001 110a f166 000a F868 0006 0011 0022 0033 0123 00aa 00bb 00cc 0011 0033 没有数据 保留8个字 5 0000 .data 6 0000 0011 coeff .word 011h,022h,033h 10 0000 .bss buffer,10 14 0003 0123 prt .word 0123h .data 6 0011 6 0022 6 0033 10 没有数据 .bss 保留10个字 14 0123 .text vectors newvars 6 0001 0022 6 0002 0033 行号SPC目标 代码 例4-2 经汇编后,共建立了5个段:
行号SPC目标 第4章汇编语言程序设计 15 代码 **************行号目标代码段名 **汇编代码到text段 **19 料料料**2200text 180000 text 190000100fadd:LD OFh, A 20 0001 f010 aloop: SUB #1, A 00020001 210003f842 BC aloop, AGEO 000400013 22 中*水冰水 60011 汇编另一个初始化表到data段*00 data 23 24 **米****140123 2600aa 250004 data 26 cobb 26 0004 00aa ivals. word OAAh, 0BBh, 0CCh 26L00co 000500bb 000600cc 27 ** 28 米为更多的变量定义另一个段*10有数.bss 29 *冰*林*冰冰冰林 300000 var2 sect“ newars”,1 3100 01 inbuf. sect“ newars”,7 30保留1个字 newar 31保留7个字
第4章 汇编语言程序设计 15 ******************************** 16 ** 汇编代码到.text段 ** 17 ******************************** 18 0000 .text 19 0000 100f add: LD 0Fh,A 20 0001 f010 aloop: SUB #1, A 0002 0001 21 0003 f842 BC aloop,AGEQ 0004 0001’ 22 ********************************** 23 ** 汇编另一个初始化表到.data 段 ** 24 ********************************** 25 0004 .data 26 0004 00aa ivals .word 0AAh,0BBh,0CCh 0005 00bb 0006 00cc 27 ******************************** 28 ** 为更多的变量定义另一个段 ** 29 ******************************** 30 0000 var2 .usect “newvars” ,1 31 0001 inbuf .usect “newvars” ,7 行号 目标代码 段名 100f f010 0001 f842 0001’ 110a f166 000a F868 0006‘ 6 6 6 14 0011 0022 0033 0123 00aa 00bb 00cc .data 0011 0033 10 没有数据 保留10个字 .bss 没有数据 保留10个 字 .text 18 0000 .text 19 0000 100f add: LD 0Fh,A 19 100f 20 0001 f010 aloop: SUB #1, A 20 f010 20 0001 21 0003 f842 BC aloop,AGEQ 21 f842 21 0001’ 25 0004 .data 26 0004 00aa ivals .word 0AAh,0BBh,0CCh .data 26 00aa 26 00bb 26 00cc 30 0000 var2 .usect “newvars” ,1 31 0001 inbuf .usect “newvars” ,7 30 保留1个字 newvars 31 保留7个字 行号SPC目标 代码
第4章汇编语言程序设计 行号SPC目标 行号目标代码段名 代码 20f010 text 32 *****米******20100 33 米汇编更多代码到text段*2100 34 *****37f166 350005 text 38f868 360005110ampy D OAh, B 380006 37 0006 f166 loop MPY #0Ah, B 6 0011. data 0007000a 60022 60033 3800081868 BC loop, BNO 140123 00090006 39 米**米米*米26128 CC 40 *为中断向量. vectors定义一个自定义段**43 米*******米*米***43L003 vectors 41 420000 sect vectors 10没有数据 4300000011 word 011h,033h 保留10个字.bss 00010033 30没有 31保留 newar s
第4章 汇编语言程序设计 32 ********************************* 33 ** 汇编更多代码到.text段 ** 34 ********************************* 35 0005 .text 36 0005 110a mpy: LD 0Ah,B 37 0006 f166 mloop MPY #0Ah,B 0007 000a 38 0008 f868 BC mloop,BNOV 0009 0006’ 39 **************************************** 40 ** 为中断向量.vectors定义一个自定义段 ** 41 **************************************** 42 0000 .sect “vectors” 43 0000 0011 .word 011h,033h 0001 0033 行号 目标代码 段名 19 20 20 21 21 100f f010 0001 f842 0001’ 110a f166 000a F868 0006 .text 6 6 6 14 26 26 26 0011 0022 0033 0123 00aa 00bb 00cc .data 0044 0088 10 没有数据 保留10个字 .bss 30 31 没有数据 保留8个字 newvars 35 0005 .text .text 36 0005 110a mpy: LD 0Ah,B 36 110a 37 0006 f166 mloop MPY #0Ah,B 37 f166 37 000a 38 0008 f868 BC mloop,BNOV 38 f868 38 0006’ 42 0000 .sect “vectors” vectors 43 0000 0011 .word 011h,033h 43 0011 43 0033 行号SPC目标 代码 0001 0033
第4章汇编语言程序设计 423连接器对段的处理 ◆链接器是开发c54X器件必不可少的开发工具之 一,连接器对段的处理主要完成两个功能: 把1个或多个目标文件(文件名.ob)连接起来, 产生可执行的cOFF输出文件(文件名out)。 按照目标系统的需要配置存储器,并将符号和段 重新定位,确定输出文件的存储器地址
4.2.3 连接器对段的处理 ◆链接器是开发’C54x器件必不可少的开发工具之 一,连接器对段的处理主要完成两个功能: ➢ 把1个或多个目标文件(文件名.obj)连接起来, 产生可执行的COFF输出文件(文件名.out)。 ➢ 按照目标系统的需要配置存储器,并将符号和段 重新定位,确定输出文件的存储器地址。 第4章 汇编语言程序设计