東堂 发表于 2012-8-25 11:37:10

请问ds和ss有什么区别?

抱歉,问了个这么弱的问题!!!我想问各位大大的是,通过ds+可以吧数据写入内存,使用栈ss+sp也是把数据写入内存,为什么要用栈,而不直接用ds?

メ㊣逆ご帅☆ 发表于 2012-8-25 11:37:11

也就是概念的问题
ds数据段 SS栈段
数据段一般存储长期使用的数据,就是全局变量,或者常量
栈段一般存储临时使用的数据,比如我们写了一个子程序需要三个参数,我们分别将三个参数压栈
push XX
push XX
push XX
CALL XXX
然后这个名为XXX的子程序在执行完后就会
pop XX
pop XX
pop XX
ret
一系列push和pop完之后栈段恢复原样
栈段一般都是存放临时数据的
也就是所谓的局部变量

Seandor 发表于 2012-8-25 17:00:55

楼上已经回答的很好了。我想说栈这个数据结构很有特点,因为FIrst in last out, 再结合pop push指令,简化了许多问题的表达。其实ss既然存在肯定有它存在的必要,多看看书就知道了。

東堂 发表于 2012-8-25 23:05:20

メ㊣逆ご帅☆ 发表于 2012-8-25 11:37 static/image/common/back.gif
也就是概念的问题
ds数据段 SS栈段
数据段一般存储长期使用的数据,就是全局变量,或者常量


太谢谢了~·一下豁然开朗了~~不然我一直想不通~~~

東堂 发表于 2012-8-25 23:06:34

Seandor 发表于 2012-8-25 17:00 static/image/common/back.gif
楼上已经回答的很好了。我想说栈这个数据结构很有特点,因为FIrst in last out, 再结合pop push指令,简化了 ...

对对~~是该好好看书~~~不过问一下的话会更加明了。。谢谢你了!
页: [1]
查看完整版本: 请问ds和ss有什么区别?