如何实现16位内部地址到20位实际地址的转换

物理地址=段地址*16+偏移地址(这里的物理地址是20位的,即0x00000 - 0xffffff这个范围的地址
就是一个寄存器里的左移4位  加上 另一个寄存器里的偏移地址(16×64k+表示范围是64k的地址即对应所谓的20位
20根地址线,表示 0x00000 - 0xffffff这个范围的地址
而寄存器16位 您想想还有4位怎么办? 刚好错开(左移4位) 相加 组成20位
附:
段地址:8086CPU将1MB的存储器空间分成许多逻辑段,每个段最大限制为64KB, 段地址就是逻辑段在主存中的起始位置

偏移地址:存储单元距离段起始位置的偏移量简称偏移地址,由于限定每段 不超过64KB,所以偏移地址也可以用16位数据表示。

物理地 址:在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址,把段地址左移4位再加上偏移地址就形成物理地址(0--65535的数据可以用16位来表达,但是超过65536了,16位表达不了,于是工程师们想了一个办法,比分说要表达65537,即为 1×65536+1,这里的第2个1即是偏移值,必须小于65536,第1个1其范围必须小于16,因为左移4位,最大表示是16嘛)。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值