(1)给定段地址为 0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 00010H 到 1000FH 。解析:内存地址 = 段地址(二进制) << 4 + 偏移地址
偏移地址变化范围 0000H ~ FFFFH
故内存地址最小为 00010H + 0000H = 00010H
内存地址最大为 00010H + FFFFH = 1000FH
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H 。
解析:段地址 = (内存地址 - 偏移地址) >> 4 (可能会丢失精度)
偏移地址变化范围 0000H ~ FFFFH
故段地址最小为 (20000H - FFFFH) >> 4 = 1000H
但是,当段地址为 1000H时 内存地址 = 1000H << 4 + FFFFH = 1FFFFH
是无法寻址到 20000H 内存单元的,很显然是在右移过程地址精度丢失了
所以段地址要 +1 以弥补右移过程中丢失的精度才能寻址到 20000H
即段地址最小为 1001H
段地址最大为 (20000H - 0000H) >> 4 = 2000H