~~~~~初学汇编有一些菜问题急需解决~~~~~

lihaogao 2004-04-29 07:18:22
如果data是一个数据段名
为什么要这样写:
 mov ax,data
mov ds,ax
可不可以就写:
 mov ds,data
为什么?????


...全文
21 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
02051223 2004-05-03
不能直接写!
因为他们的类型模糊.
在使用地址表达式是要求类型一直或者有一个不明确.




另外可以这两句都不写.
这样在后面使用数据段时必须在地址表达式前加 DS等数据段前缀.
  • 打赏
  • 举报
回复
SDFDSAC 2004-05-03
立即数不能直接送段地址,用寄存器中转
  • 打赏
  • 举报
回复
windandrain 2004-05-01
1楼
你的第二句我不太明白,
我想是不是因为ds和ax的用法不同
  • 打赏
  • 举报
回复
guangzi989 2004-05-01
data 就是一个立即数,它必须要通过寄存器中转才能读入内存
  • 打赏
  • 举报
回复
delphi023445 2004-05-01
data 是一个标志符,也就是一个地址,就是一个立即数
而直接用立即数传送到DS的指令是无效的
所以不行
  • 打赏
  • 举报
回复
dongdongcang 2004-04-30
因为对DS是不能直接寻址的
  • 打赏
  • 举报
回复
dalvin 2004-04-30
是由处理器结构决定的,
可能INTEL的工程师设计芯片时
就不支持mov ds,data
所以无法对其DECODE。
  • 打赏
  • 举报
回复
fairyme 2004-04-30
确实是这样啊,有时候一些比较基础的东西还是相信书上的好。汇编语言的基本框架就是那样的,无法改变的东东,都用多少年了。如果可以的话,我估计早改了,你说呢?
  • 打赏
  • 举报
回复
lihaogao 2004-04-29

原来如此啊!
  • 打赏
  • 举报
回复
fiveyes 2004-04-29
没错,我的书上也是这样的,书上说这是由于,直接用立即数传送到DS的指令是无效的,所以为了初始化它,就需要两条指令。
  • 打赏
  • 举报
回复
相关推荐
发帖
汇编语言
加入

2.1w+

社区成员

汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
申请成为版主
帖子事件
创建了帖子
2004-04-29 07:18
社区公告
暂无公告