当前位置: 代码迷 >> 汇编语言 >> 汇编程序中有多个段,载入内存后段地址相连吗,该怎么解决
  详细解决方案

汇编程序中有多个段,载入内存后段地址相连吗,该怎么解决

热度:10197   发布时间:2013-02-26 00:00:00.0
汇编程序中有多个段,载入内存后段地址相连吗
比如说,先有一个数据段,再一个栈段,最后是代码段
把程序载入内存后,是不是数据段后必须紧跟着栈段,栈段后紧跟着代码段


可不可以把三个段分别放在内存中的三个不同的地方,段地址不相连

------解决方案--------------------------------------------------------
程序载入内存后,不是数据段后必须紧跟着栈段,栈段后紧跟着代码段,可以把三个段放在内存中不同的地方,段地址不相连。数据段,栈段,代码段三段还可以设置为同一个内存段,主要是看你怎么设置的。CS:IP表示代码段地址,DS表示数据段地址,SS:SP表示栈段地址,通过改变这些寄存器,可以随意设置3个段的地址。
------解决方案--------------------------------------------------------
探讨
比如说,先有一个数据段,再一个栈段,最后是代码段
把程序载入内存后,是不是数据段后必须紧跟着栈段,栈段后紧跟着代码段


可不可以把三个段分别放在内存中的三个不同的地方,段地址不相连

------解决方案--------------------------------------------------------
段址,缺省是相连的。在使用了某些语句后,连顺序都是固定的,比如 .DOSSEG