赵疯子 发表于 2013-8-18 20:18:02

DS寄存器与CS寄存器有什么区别?

既然都是存段地址,那么DS与CS的区别在哪呢?CS可以直接MOV?       

牡丹花下死做鬼 发表于 2013-8-18 20:18:03

cs是值cpu执行的当前指令的段地址,ds是数据开始的段地址。
通俗来讲,CS是告诉CPU,去哪个位置找内容当成指令去执行,
DS是告诉CPU,去哪个位置找内容当成数据被使用
CPU要执行CS中的指令 指令用到的数据可能就存放在DS中。
你可以把数据放到CS中 但是CPU并不把它当成数据来使用,你也可以把指令放到DS中,但是CPU根本不去DS里读指令。

赵疯子 发表于 2013-8-18 20:39:33

谢谢,我明白了,多谢哈

9天 发表于 2013-8-18 23:11:45

牡丹花下死做鬼 发表于 2013-8-18 20:18 static/image/common/back.gif
cs是值cpu执行的当前指令的段地址,ds是数据开始的段地址。
通俗来讲,CS是告诉CPU,去哪个位置找内容当成 ...

这些看了小鱼的教程知道怎么用,不过没有能像你这讲的这么明白 ,支持你

yebacon 发表于 2013-8-19 02:52:51

以前学习过,现在又忘光了。。。唉。。。

战狼破晓 发表于 2013-8-21 15:40:37

牡丹花下死做鬼 发表于 2013-8-18 20:18 static/image/common/back.gif
cs是值cpu执行的当前指令的段地址,ds是数据开始的段地址。
通俗来讲,CS是告诉CPU,去哪个位置找内容当成 ...

讲的太好了

wltf 发表于 2014-5-3 10:28:36

必须是先把数据和代码放在不同的段中才能这样做。
页: [1]
查看完整版本: DS寄存器与CS寄存器有什么区别?