首页 > 代码库 > 平坦内存模式、分段内存模式、实地址模式
平坦内存模式、分段内存模式、实地址模式
IA-32处理器平台允许3种不同的访问系统内存的方法:
(1)平坦内存模式
(2)分段内存模式
(3)实地址模式
平坦内存模式把全部系统内存表示为连续的地址空间。所有指令、数据和堆栈都包含在相同的地址空间中。通过称为线性地址(linear address)的特定地址访问每个内存位置。
分段内存模式把系统内存划分为独立段的组,通过位于段寄存器中的指针进行引用。每个段用于包含特定类型的数据。一个段用于包含指令码,另一个段用于包含数据元素,第三个段用于包含程序堆栈。
段中的内存位置是通过逻辑地址定义的。逻辑地址由段地址(存放在段寄存器中)和偏移地址构成。处理器把逻辑地址转换为相应的线性地址位置以便访问内存的字节。
如果程序使用实地址模式,那么所有段寄存器都指向零线性地址,并且不会被程序改动。所有指令码、数据元素、堆栈元素都是通过它们的线性地址直接访问的。
摘自:《汇编语言程序设计》Richard Blum著
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。