首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

请教DOS汇编中怎么得到.data?的段地址

2012-02-20 
请问DOS汇编中如何得到.data?的段地址?这样做编译通不过,说没有@data?这个段:movax,@data?moves,ax但是我

请问DOS汇编中如何得到.data?的段地址?
这样做编译通不过,说没有@data?这个段:
mov   ax,   @data?
mov   es,   ax

但是我想对.data?中的一个变量使用rep   stosb指令
lea   dx,   nTable
mov   cx,   32768
xor   al,   al
rep   stosb

这样会出错,但是把变量(就是nTable)放到.data段中结果就是正确的,所以我觉得是ES没有被正确赋值成.data?的段地址

后来又尝试了这样:
mov   ax,   seg   nTable
mov   es,   ax
还是出错

请问这个怎么处理啊?

[解决办法]
dos16 中还真没这么用过. 刚才看了一下 Masm6 的帮助. 其中说:
.data 的段名是 _DATA;
.data? 的段名是 _BBS;
@data 则是等价于 DGROUP, 它是个段组, 包含了所有 near 属性的由 .data, .data?,
.const 以及 .stack 定义的段

热点排行