. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(内存访问)
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
为什么add/sub指令不能对DS操作
[已解决]
回复[
5
次 ] 点击[
298
次 ]
regex
[帖 主]
[ 发表时间:2009-12-28 14:29 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
在复习第三章的时候有个问题
我们知道,mov指令可以完成寄存器到段寄存器DS的操作。 即:
mov ds,ax
而add/sub指令则不行。 这是为什么呢?
标准的说法也许是8086CPU没提供这样的功能。 但是我还是想知道。哪位朋友简单的给讲讲。多谢
scuzg
[第
1
楼]
[ 回复时间:2009-12-28 16:20 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
标准的说法确实是 8086 CPU 没提供这样的功能。为什么不提供?这可能是楼主希望知道的。
其实我也没有看到过 Intel 的相关资料,但我认为是因为段寄存器仅需提供各段段基址的高16位(或称段地址或段基值),更多的功能对段寄存器来说是没有应用价值的,所以无须提供。
regex
[第
2
楼]
[ 回复时间:2009-12-28 17:15 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
感谢1喽朋友回复。
以我目前的知识, 我认为跟这跟mov与add/sub的功能有关吧。
scuzg
[第
3
楼]
[ 回复时间:2009-12-28 19:29 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
也可以这样说(跟mov与add/sub的功能有关):add/sub 等指令不支持段寄存器作为操作数。
regex
[第
4
楼]
[ 回复时间:2009-12-29 00:46 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
嗯, 我才学汇编,以后有不懂得地方, 还希望您不吝赐教! 多谢。
regex
[第
5
楼]
[ 回复时间:2010-01-01 15:34 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
此贴由 贴主 于 [ 2010-01-01 15:34 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved