加深地址的计算方式的影响
段地址X16+偏移地址=物理地址, 因为8086CPU有20根地址线,16位寄存器无法表示,所以采取这么一个方式
第一张只能填3位数字的纸条 第二 张只能填3位数字的纸条 物理地址
210 X 10 726 2826
220 X 10 626
230 X 10 526
190 X 10 926
180 X 10 0~999
永远无法找到最终的物理地址
物理地址 段地址 偏移地址
21F60H 2000H X 10H 1F60H
一个最终的物理地址只要满足段地址*10H+偏移地址=物理地址 都可以找到同一个物理地址
段地址X10H+偏移地址(0~FFFF)=物理地址
1000*10H+ FFFFH=10000+FFFF=1FFFH 无法表示21F60的
检测点2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 10H 到 1000FH
段地址X16+偏移地址=物理地址
0001H*10H+(0~FFFFH)=物理地址
10H+0=10H
10H+FFFF=1000FH
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应该满足的条件是:最小为 ,最大为
提示,反过来思考一下,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?
段地址X16+偏移地址=物理地址
SA X 10H + (0~FFFFH)=20000H
SA*10H+0=20000H
20000H/10H=2000H=SA 2000H*10H+0=20000H
SA*10H+FFFFH=20000H
SA*10H=10001H
10001H/10H=1000H SA=1000H 1000H*10H+FFFFH=1FFFF(永远都无法找到20000H)
所以段地址是错误的必须给它加上1 1001H*10H+FFFFH=2000FH (20000H包括在范围里面)
所以 SA=1001H