问题描述
基址、分段寻址、段寄存器、32位寄存器到底有什么联系呢?
在汇编中常见这种形式的地址:0000:7c00,为什么这样表示?
段超越ES:BP具体的内涵是什么?
问题解答
分段寻址、段寄存器、基址
在以前(80286),电脑的寄存器都是16位的,如我们常用的ax、bx等,但数据总线是24位的(内存16M),单用一个16位寄存器无法寻址所有地址,因此地址的表示必须用两个寄存器或者一个寄存器加一个立即数,所以有了段寄存器cs、ds、ss、es,相当于在存储空间上做了划分,减小地址空间以便表示。用一个16位寄存器指示段寄存器,即目的地址位于哪一个段,再用一个立即数做段内偏移量,以便找到此段内具体的某个地址单元,这种寻址即

本文介绍了32位寄存器如何处理寻址问题,通过解释分段寻址机制,段寄存器的作用,以及如何通过基址和偏移量确定32位地址。同时,探讨了在32位环境下,不再需要分段寻址的原因,并解析了地址0000:7c00的含义以及ES:BP的寻址方式。
最低0.47元/天 解锁文章
2340

被折叠的 条评论
为什么被折叠?



