搜索
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 为什么mov cs:[di],cs[si]不合法?前面已经定义了di和si的偏移地址
标题:
为什么mov cs:[di],cs[si]不合法?前面已经定义了di和si的偏移地址
只看楼主
赵疯子
来 自:dream
等 级:
蝙蝠侠
威 望:
2
帖 子:365
专家分:737
注 册:2013-5-5
结帖率:
94.44%
楼主
已结贴
√
问题点数:20 回复次数:7
为什么mov cs:[di],cs[si]不合法?前面已经定义了di和si的偏移地址
如题,讲一下原理吧,已经解决了问题,但是不知道为何这样不行,解决的办法是
mov ax,cs:[si]
mov cs:[di],ax
2013-08-25 14:14
lonmaor
来 自:郑州
等 级:
版主
威 望:
75
帖 子:2637
专家分:6423
注 册:2007-11-27
第
2
楼
得分:20
mov ax, word ptr cs:[si]
类型要相符。
从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2013-08-25 14:42
赵疯子
来 自:dream
等 级:
蝙蝠侠
威 望:
2
帖 子:365
专家分:737
注 册:2013-5-5
第
3
楼
得分:0
回复 2楼 lonmaor
哦,没注意,但是为什么按题目上所说的那样就不合法呢?在C里面应该可以的啊?
比如a[1]=b[1];
2013-08-25 18:03
lonmaor
来 自:郑州
等 级:
版主
威 望:
75
帖 子:2637
专家分:6423
注 册:2007-11-27
第
4
楼
得分:0
这就是汇编的低级之处。
从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2013-08-25 18:26
赵疯子
来 自:dream
等 级:
蝙蝠侠
威 望:
2
帖 子:365
专家分:737
注 册:2013-5-5
第
5
楼
得分:0
谢谢了
2013-08-25 18:30
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
6
楼
得分:0
不 是X86这个架构就不允许用mov移动在两个内存之间移动数据 至于其他架构行不行我就不知道了 反正就不能这么写 这点书上应该是说过的
2013-08-26 16:42
luoage
等 级:
新手上路
帖 子:6
专家分:7
注 册:2013-8-29
第
7
楼
得分:0
对,两个内存间地址,不允许传递,这是规定.
2013-08-29 16:53
yuccn
来 自:何方
等 级:
版主
威 望:
167
帖 子:6809
专家分:42393
注 册:2010-12-16
第
8
楼
得分:0
以下是引用
赵疯子
在2013-8-25 18:03:11的发言:
哦,没注意,但是为什么按题目上所说的那样就不合法呢?在C里面应该可以的啊?
比如a[1]=b[1];
c 语言这样 也是要借助寄存器的,只是那是编译成汇编的事情了。
我行我乐
我的博客:
http://blog.yuccn. net
2013-09-05 19:52
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-419629-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.186038 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved