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

本文详细介绍了计算机程序在16位实模式与32位保护模式下如何通过段地址和偏移地址组合进行内存寻址。在16位实模式下,程序受限于1MB的地址空间;而在32位保护模式下,可寻址范围扩大到4GB。此外,还解释了数据段、代码段、堆栈段和附加段的概念及其在内存中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值