●例42段定义应用举例汇编语言源程序: data 初始化数据段 ff,word011n022h.033h;3组数据放入data段 bss buffer. 10 bss股保留10个单元 prt. word 0123h bss后0123h仍然在data段 text 初始化文本股 add: ld oFh. A 1字捐令 Aloop: SUB #1,A 2字令 BC20o,AGEQ2字指令 data 初始化数据股 ovals,word0AAh,0BBh,0CCh:3组数据放入data股
• 例4-2 段定义应用举例 汇编语言源程序: .data coeff .word 011h,022h,033h .bss buffer,10 prt .word 0123h .text add: LD 0Fh,A Aloop: SUB #1,A BC aloop,AGEQ .data ivals .word 0AAh,0BBh,0CCh ;初始化数据段 ;3组数据放入.data段 ;在.bss段保留10个单元 ;.bss后0123h仍然在.data段 ;初始化文本段 ;1字指令 ;2字指令 ;2字指令 ;初始化数据段 ;3组数据放入.data段
汇编语言源程序 var2 sect" newvars'”1漣立 dewars命名保留1个单元 inbuf, t o”,7: dewars段保留7个单元 text 初始化文本股 mpy:LD0Ah,B1字令 Mp:MPY#0Ah,B;2字令 BC loop,BNOV:2指令 sect "vectors") 建立 vectors命名股 word01l,033h;2组数据放入 vectors命名段
汇编语言源程序: var2 .usect “newvars”, 1 inbuf .usect “newvars”, 7 .text mpy: LD 0Ah,B Mloop: MPY #0Ah,B BC mloop,BNOV .sect “vectors” .word 011h,033h ;建立newvars命名段,保留1个单元 ;在newvars段保留7个单元 ;初始化文本段 ;1字指令 ;2字指令 ;2字指令 ;建立vectors命名段 ;2组数据放入vectors命名段
第4章汇编语言程序设计 汇编语言源程序经过汇编后,共建立了5个段: text段—一文本段,段内有10个字可执行的程序代码 >data段—已初始化的数据段,段内有7个字的数据 vectors段—用sect命令生成的命名段,段内有2个字 的初始化数据 >bss段——未初始化的数据段,在存储器中为变量保留 10个存储单元 newars段——用. sect命令建立的命名段,为变量保 留8个存储单元
汇编语言源程序经过汇编后,共建立了5个段: ➢.text段——文本段,段内有10个字可执行的程序代码 ➢.data段——已初始化的数据段,段内有7个字的数据 ➢vectors段——用.sect命令生成的命名段,段内有2个字 的初始化数据 ➢.bss段——未初始化的数据段,在存储器中为变量保留 10个存储单元 ➢newvars段——用.usect命令建立的命名段,为变量保 留8个存储单元 第4章 汇编语言程序设计
例42经汇编后,得列表文件(部分): 源程序 冰冰冰水冰冰冰冰冰冰 234 **汇编一个初始化表到data段* 冰冰冰水冰水冰冰冰冰冰律 50000 data 600000011 coeff,word011h,022h,033h 00010022 00020033 *冰冰林冰冰冰体冰冰 89 **在bs段中为变量保留空间* 100000 bss buffer, 10 11 冰冰冰冰冰冰本冰冰冰冰 12 **bss结束后仍然在data段中* 13 *冰冰冰冰冰k 1400030123prt word 0123h
例4-2 经汇编后,得列表文件(部分): 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 ** .bss结束后仍然在.data 段中 ** 13 ********************************** 14 0003 0123 prt .word 0123h 源程序 的行号 段程序 计数器 目标 代码 汇编语言 源程序
韆鑫昆 汇 15 冰水冰冰 16 **汇编代码到text段 冰冰 17 冰冰冰冰水冰冰冰冰 180000 text 190000100fadd LD OFh, A 20 0001 f010 aloop: SUB #1, A 00020001 210003f842 B aloop, AGEQ 00040001 22 冰冰冰冰冰冰 23 *汇编另一个初始化表到data段 24 **冰水冲冰*冰冰 250004 data 26 0004 00aa ivaRs. word 0AAh, 0BBh, oCCh 000500bb 000600cc 789 *冰冰林冰水*冰冰* **为更多的变量定义另一个段* 300000 var 2 sect“ newar s 310001 inbuf. sect“ dewars”,7
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 源程序 的行号 段程序 计数器 目标 代码 汇编语言 源程序