汇编语言 中的 DS CS SS问题

王爽老师的汇编语言第二版~~P92页 DS=SA CS=DS+10H
因为PSP占256字节~~ 但是 在第 6章 的程序中 设CS 段地址为 X 为什么 DS=X-1 SS=X-2? 这矛盾不?

这是不矛盾的,原因如下:
CS,在汇编程序中称为代码段,在整个存储器中一般位于起始端的中端,以CS为中心,往前是数据段(DS),最前面是堆栈段(SS),这里的DS=X-1,是因为DSCS,SS在存储器中都只占有一个字节的位置。
在某些情况下,DS=SS,。这是因为这些程序中可能不需要用到堆栈段。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-12-23
cs 代码段地址,联合ip作为cpu指向当前正在执行的那条指令所使用,你一般不能随意修改它
ss 堆栈段地址 联合sp定义一个堆栈,一旦你确定了堆栈地址,ss也不能随便改变了
ds 数据段地址 定义一个数据段
如果你是新手的话,有需要的时候,你可以用ds和es,随着更加深入的学习你会了解具体怎么用的。
相似回答