- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008-2-211.关于对段的定义目标文件至少包含三个默认段:.text? ? ? ? ? ? ? ? 文本段? ? ? ? ? ? ? ? 通常包含可执行代码.data? ? ? ? ? ? ? ? 数据段? ? ? ? ? ? ? ? 通常包含初始化的数据.bss? ? ? ? ? ? ? ? 保留空间段? ? ? ? 通常为没有初始化的变量保留空间自定义段:.usect ? ? ? ? 保留空间段? ? ? ? 为没有初始化的数据保留空间的自定义段.sect? ? ? ? ? ? ? ? 初始化段? ? ? ? 自定义段.asect? ? ? ? 初始化段和默认段的使用相同,但它们被单独汇编。例如,重复使用.text段在目标文件中创建单个.text段,在链接时,这个.text段作为单个单元分配到存储器中。假中有一部分可执行代码(如初始化程序)不希望和.text段分配在一起,可以将它们汇编进一个自定义段,这样就可以分配在与.text段不同的地方。不能用不同的伪指令定义相同的段。如.usect和.sect用同一个段名。初始化段? ? ? ? .text? ? ? ? ? ? ? ? .data? ? ? ? ? ? ? ? .sect? ? ? ? ? ? ? ? .asect.text.data.sect “section name(段名)”.asect “section name” address(地址)当汇编器第一次遇到一个.data时,.data段为空的。跟在第一个.data伪指令后的指令被汇编进.data段,直到遇到.text、.sect、.asect。如果后面还遇到.data,则将跟在这些.data后面的语句汇编时已经存在的.data段。这样就形成了单个可被连续分配到存储器中的.data段。.asect的伪指令的address是必需的。如果使用.asect指令继续汇编一个包含代码的绝对地址段(这里应该是指同一个段名的绝对地址段,还是说.asect只能有一个有地址参数?个人认识应该是前者),那么就不能使用地址参数。.asect将代码从片外存储器加载到片内存储器里很有用。但已经很少使用,以属于过时的指令。未初始化段? ? ? ? .bss? ? ? ? ? ? ? ? .usect? ? ? ? ? ? ? ? ? ? ? ? .bss? ? ? ? ? ? ? ? symbol(符号),? ? ? ? ? ? ? ? size in words(字数)[blocking flag]symbol? ? ? ? ? ? ? ? .usect? ? ? ? “section name(段名)”size in words,[blocking flag]symbol:指向.bss或.usect伪指令所保留的存储空间的第一个字。这个符号与保留空间所使用的变量名相对应。这个符号可以让其化段引用,并且也可以用一个全局符号(.global)来声明。相当于C中定义 unsigned char symbol[size in words];Size in words:保留空间大小。Blocking flag:可选项。如果该参数指定一个大于0的值,则汇编器会将size in words指定的字数连续存放,分配的空间不跨页面的边界,除非字数超过一页的长度,此时电影票将从一个页面边界开始。Section name:为保留空间的自定义段的段名。0~8个字符。最多可产生32767个不同的自定义段。和symbol有什么不同?段名是用来汇编器联接用的,程序里用不到;而符号是地址,程序里可以引用。自定义的段名第一个字符也可以是 . ,如:sect “.cinit”。初始化段定义伪指令告诉汇编器停止汇编进入当前的段,而开始汇编进入指定的段,但未初始化段定义伪指令不终止当前的段而开始一个新段,它们只是简间的临时离开当前的段。所以.bss和.usect可以出现在初始化段的任何地方而不会影响它的内容。链接器将段重新定位到目标系统的存储器映射。大多数系统包含几种存储器,使用段可以使目标存储器的使用更为有效。所有段都可独立地重新定位,可将任意段放到目标存储器任何已经分配的块。例子:? ? ? ? ? ? ? ? .dataCoeff? ? ? ? .word 011h,022h,033h? ? ? ? ? ? ? ? .bss? ? ? ? ? ? ? ? var1,1? ? ? ? ? ? ? ? .bss? ? ? ? ? ? ? ? buffer,10Ptr? ? ? ? ? ? ? ? .word? ? ? ? 0123? ? ? ? ? ? ? ? .text? ?
您可能关注的文档
最近下载
- SolidWorks入门教程很全面课件.ppt VIP
- [生理学]消化与吸收精选.ppt VIP
- 专题21.2 二次函数的图象【八大题型】(举一反三)(沪科版)(原卷版).docx VIP
- 第一章物质及其变化第一节物质的分类及转化(25张PPT)必修第一册.pptx VIP
- 某省2025年全省广播电视技术大赛(调幅专业) 试题 .pdf VIP
- 公路桥梁工程高处作业安全培训.pptx VIP
- PKPM软件说明书_筒仓结构设计软件SILO.pdf VIP
- Q OKTW 023-2016_汽车起重机 企业标准.pdf VIP
- 五年级数学(小数四则混合运算)计算题及答案汇编.docx VIP
- 【知识专讲精研】高中日语基础写作:-私の部屋课件.pptx VIP
文档评论(0)