为什么我们在8086中将CS复制到DS?

时间:2014-05-14 08:53:50

标签: assembly x86-16

为什么我们会在8086中将CS复制到DS中?

将CS复制到DS:

    MOV AX,CS;
    MOV DS,AX;

为什么我们需要这样做?

2 个答案:

答案 0 :(得分:1)

简短回答是:当我们将代码存储器作为数据存储器访问时,避免使用cs:前缀。

检查x86 memory segmentation以了解这一点。

答案 1 :(得分:1)

这通常在“微小”模型中完成,在DOS中是.COM程序(程序从偏移十六进制100开始)。代码和数据共享相同的段空间,尽管代码可能会在以后更改。对于其他模型(“小”,“中”,“大”),在DOS中是.EXE程序,有单独的段,因此DS加载的值对应于程序的数据段。