现在的位置: 首页 > 综合 > 正文

监测点2.2

2014年03月05日 ⁄ 综合 ⁄ 共 663字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.