汇编语言@data是什么操作符

如题... 如题 展开
 我来答
帐号已注销
推荐于2017-09-05 · TA获得超过3000个赞
知道大有可为答主
回答量:1338
采纳率:75%
帮助的人:1310万
展开全部
汇编语言的老式写法,加载ds段的时候,是这么写法:

data segment
num db 10 dup(1)
data ends

cseg segment
assume ds:dseg, cs:cseg
start:
mov ax, dseg
mov ds, ax
…………
其他省略

新式写法,例如:
.model small

.data
source byte 10 dup( '0123456789' )
destin byte 100 dup( ? )

.code

.startup
mov ax, @data
mov ds, ax
mov es, ax

简单来说,也是用来加载数据段的。其实这种写法,会默认把.data加载到ds里去的。
不过有种内存模型叫large的,有个fardata段,比如:
.model large

.data
string1 byte 'The quick brown fox jumps over the laxy dog'
alle byte 'all equal!$'

.fardata
string2 byte 'The quick brown fox jumps over the laxy dog'
lstring EQU $ - string2

.code
.startup

mov ax, @data
mov ds, ax
mov ax, @fardata
mov es, ax
这种情况下,给ds、es加载不同的数据段,就很有用了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式