回 帖 发 新 帖 刷新版面

主题:两个16位寄存器来访问1M的内存空间 问题

各位老师,请问“存储器分段的内存管理方法怎么实现用两个16位寄存器来访问1M的内存空间?”请知情者详细解答,谢谢![em2]

回复列表 (共3个回复)

沙发

CS和IP吧.CS左移四位再+IP,就形成20位的物理地址(16位机有20位地址线),就刚好能访问1MB的内存.

板凳

16位寄存器最多访问64K地址空间,20位地址线能提供1M地址空间,想用16位寄存器访问1M空间就想出了内存分段的方法.
物理地址(最多1M)=段地址*16+偏移地址
汇编里左移一位相当于乘2,左移4位相当于乘16
也就是说每16字节为一段,一共有64K段
当你提供了段地址与地址计算机会用地址加法器求物理地址,也可以直接求出物理地址访问

3 楼

任意2个寄存器都可以,我觉得可以在教材程序动态,静态重定位章节里看看!换有,结合操作系统

  看看,存储管理这一章节,例如:经典的页式存储!怎么用简单高效的方法,访问更大的存储空间!

  我也得去复习一下啊!  

我来回复

您尚未登录,请登录后再回复。点此登录或注册