监测点2.2

1、给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为                       

解:8086cpu的物理地址=SA×16+EA,而 8086cpu的偏移地址范围是0H~FFFFH。

即最小地址:00010H+0H=00010H,最大地址:00010H+FFFFH=1000FH

2、有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为        ,最大为          。提示,反过来思考,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?

解:8086cpu的物理地址=SA×16+EA,而 8086cpu的偏移地址范围是0H~FFFFH。

因为SA×16+EA=20000H,其中EA的变化范围是0H~FFFFH。所以SA的变化范围就是:

当EA=0时,SA=(20000H-0H)/16=2000H,

20000H – FFFFH = 10001H // 计算基础地址
基础地址必须是10H的倍数,10001H并不是10H的倍数,所以上面偏移地址的最大值不能取FFFFH。
基础地址必须是10H的倍数且最后一位必须是0,要想基础地址最后为0,那偏移地址的最后也必须是0,所以偏移地址要取FFF0H。
20000H – FFF0H = 10010H // 计算基础地址
10010H / 16= 1001H // 计算段地址

所以:SA应满足的条件是:最小为:1001H,最大为2000H。也就是说当段地址小于1001H或大于2000H时CPU都无法寻到。

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

ldw466

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值