内存分段

内存分段
 
程序执行的时候内存是分段使用的
 
内存分为
 
代码段(CS, code segment) --存放着程序的执行的代码
 
数据段(DS, data segment) --静态数据和new请求分配的数据
 
附加段(ES, extra segment)
 
堆栈段(SS, stack segment) --就是我们所说的栈,存放形式参数,局部变量,主调函数的断点(函数
 
调用的后一条指令称为主调函数的断点,堆栈中形式参数,局部变量,主调函数的断点地址称为该函数的
 
活动记录)
 
下面讲述程序是如何执行的?
 
当程序执行时,必须将程序的代码加载到内存的代码段中,同时将第一条指令代码的地址存入到PC寄存器
 
中,然后每执行一条指令,PC的内容自动加1;当函数发生调用的时候,PC中的内容被更新为被调函数的
 
第一条指令的地址,当流程重新回到主调函数的时候,PC中的内容被自动更新为主调函数的断点的地址!
 
 

作者: xiayongchun   发布时间: 2010-11-09