监测点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都无法寻到。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值