汇编语言 中的 DS CS SS问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:54:04
王爽老师的汇编语言第二版~~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,。这是因为这些程序中可能不需要用到堆栈段。

cs 代码段地址,联合ip作为cpu指向当前正在执行的那条指令所使用,你一般不能随意修改它
ss 堆栈段地址 联合sp定义一个堆栈,一旦你确定了堆栈地址,ss也不能随便改变了
ds 数据段地址 定义一个数据段
如果你是新手的话,有需要的时候,你可以用ds和es,随着更加深入的学习你会了解具体怎么用的。