请问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 定义的段