![]() |
|
||||||||||||||
| | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 论坛 | 淘宝网店 | | ||
|
||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A51 4.1.6 段(SEGMENT) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2008-01-06 ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
其中
Class(存储类型) 一个模块中每个段的名称必须是唯一的。但是,连接器将把相同类型的段组合起来。对于在其它源文件模块中定义的段也是如此。class为段指明了存储类型空间。A251区分基本存储类型和用户定义的存储类型。连接/定位器使用class访问属于那一存储类型的所有段。 基本的存储类型如下表:
用户定义的存储类型名称(只适用于AX51和A251) 用户定义的存储类型名称由一个基本的存储类型名称和一个扩展名组成,还要用单引号(')把它括起来。使用它们,我们可以像使用基本的存储类型名称一样访问相同的地址空间。好处是我们可以用一个用户定义的存储类型声名几个段,以后使用连接器把那一类型(及其段)定位在一个特定的物理地址中。参见英文手册336页的“CLASSES”获取如何定位用户定义类型的信息。 例程
重定位类型(Relocation Type) 选项重定位类型定义可能由连接/定位器完成的重定位操作。下表列出了正确的重定位类型:
地址分配类型(Allocation Type) 选项地址分配类型定义可能由连接/定位器完成的地址分配操作。下表列出了正确的地址分配类型:
段声明的例子 IDS SEGMENT IDATA 定义一个名为IDS的段,其存储类型为IDATA。 MYSEG SEGMENT CODE AT 0FF2000H 定义一个名为MYSEG的段,其存储类型为CODE,而且被定位在地址0FF2000H。 HDSEG SEGMENT HDATA INSEG DWORD 定义一个名为HDSEG的段,存储类型为HDATA。该段位于64K字节的段内,并且是DWORD对齐的。 XDSEG SEGMENT XDATA PAGE 定义一个名为XDSEG的段,存储类型为XDATA。该段是PAGE对齐的,也就是说从256字节的页开始。 HCSEG SEGMENT HCONST SEG 定义一个名为HCSEG的段,存储类型为HCONST。 该段是SEGMENT对齐的,也就是说从64K字节段开始。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 文章录入:admin 责任编辑:admin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 带串行控制的10位模数转换器 微功耗升压式开关电源MIC214 采用C51与插拔式FLASH闪存设 虚拟环绕处理器芯片MM1454 多功能温度监控器ADT14的开发 在51系列单片机上移植uCOS-I 基于MSM7512B的远程数据采集 基于89C51的计算机可锁定加密 基于C51串行时钟DS1305在无纸 基于Small RTOS51的数据采集 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|