段寄存器可以重叠,是咋保证各个段的数据不会因为被重写而变得混乱
段的主要作用是寻址,不是内存保护。对于8086来说,因为寄存器是16位的,寻址范围只有64K,为了能访问更多的内存,所以才导入段寄存器的概念,它的主要作用是寻址。对于x86来说,虽然段描述符里也有保护的机制和段界限机制,但主流的编译器都默认所有段寄存器映射到同一个4G长度的地址空间里,所以在32位环境下,段寄存器本来就是重叠的,而要做内存保护是通过分页机制实现的。段寄存器和汇编源代码里的“段”不完全是一个概念,汇编源码里的“段(Segment)”多数是用来分隔不同内存区域用的,你可以创建很多很多段,数量上可以多于段寄存器个数,而段寄存器就那么几个。汇编源代码里的段,更像是C语言里不同文件,只是一种分割代码的手段。再说一遍:段寄存器是用于寻址的,所以重叠不重叠无所谓。
■网友
如果我理解的对。部分的化把每段所需的字节数弄好。全的话就是把偏移量弄好。
■网友
重叠什么意思,两个一样的段寄存器?
推荐阅读
- 用泡沫箱来养多肉老桩?只要我们把细节做好,同样可以养出状态来
- ■养宠物真可以缓解孤独吗?一起来听听“铲屎官”的心声吧!
- 用EagleGet下载时总提示无效URL地址,无法下载,而用迅雷、QQ旋风则可以,咋回事~
- 银行的数据中心可以跳槽去互联网公司吗
- 银行高管的薪酬结构图表最新的,请问在哪里可以收集
- 医院|感染艾滋病毒初期有哪些征兆?可以自行检查吗?共用马桶会传染吗
- 电动车第一线|电动车配多大的电池,可以跑100公里以上?师傅告诉你真实答案!
- 有啥方法,网站,项目可以自己练习计算广告学
- 学图像处理有哪些不错的书推荐
- 宝马7系|可以说,这款数字化高尔夫,让人看到了未来大众所有车型的样子