什么是基地址.段地址???主要用处是什么?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 12:24   65   0

其实这个问题是从内存的寻址来说,
一般程序要找到内存所存储的数据或者下一个指令,都要通过段地址+偏移地址的形式来确定所需要的东西所在内存的位置,以便读取。

首先要说,这种模式工作在DOS 16位模式 也称为实模式,跟它相对应的是windows 32位的保护模式。。区别在于能寻找的空间大小不同。实模式只能寻找1M的空间,而保护模式能寻找4G。

再回来说,一个程序由数据段,代码段,堆栈段,附加段四个主要段组成。(即一个程序被运行后,所占据内存就是给这个四个段使用)

而你说的基地址其实就是每个段的起始地址,又称段地址,分别存储在四个寄存器里,,DS,CS,SS,ES,按顺序来的。

程序要查找内存中的某一个“格子”的内容,就会根据这个格子所在的段,来先取段地址,,然后根据程序所提供的偏移地址,两者相加,最终得到这个格子的物理地址。(至于怎么相加的我就先不说了)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP