用一个段存放数据,将它定义为“数据段”
用一个段存放代码,将它定义为“代码段”
用一个段当作栈,将它定义为“栈段”
对于数据段吗,将它的段地址放在DS中,用MOV、ADD、SUB等访问内存单元的指令时,CPU就将我们定义的数据段中的内容当作数据来访问;
对于代码段,将它的段地址放在CS中,将段中第一条指令的偏移地址放在IP中,这样CPU就将执行我们定义的代码段中的指令
对于栈段,将它的段地址放在SS中,将栈顶单元的偏移地址放在SP中,这样CPU在需要进行栈操作的时候,比如执行PUSH、POP指令等,就将我们定义的栈段当作栈空间来用
一段内存,可以既是代码的存储空间,又是数据的存储空间,还可以是栈空间,也可以什么也不是,关键在于CPU中段寄存器的设置,即CS、IP、SS、SP、DS的指向