CS,DS,SS 求解答
一段内存,可以即是代码的存储空间,又是数据的存储空间,还可以是栈空间,也可以什么不是。关键在于CPU中寄存器的设置,即:CS、IP、SS、DS的指向。
比如将10000H-1001FH按排为代码段,并在里面存储如下代码。
MOV AX,1000H
MOV SS,AX
MOV SP,0020H
MOV AX,CS
MOV DS,AX
MOV AX,[0]
ADD AX,[2]
MOV BX,[4]
ADD BX,[6]
PUSH AX
PUSH BX
POP AX
POP BX
在执行到ADD AX,[2] 代码段的代段就会被破坏掉!。。 CS、IP、SS、SP、DS哪个地方需要设置。。
书上说,CS IP SS SP DS 都可以同一段内存中,但我实际运行中CS代码结构会被改变。。