此题解题背景默认为8080型CPU,地址总线为16根。(8080-16,8086-20,8088-20,80286-24,80386-32)
16根地址总线寻址能力:(2 ** 16) / 1024 = 65536(B) = 64(KB), 可以表示的存储单元个数为 0 ~ 2^n-1 个, 即 0 ~ 65535。
这里的 65535 为十进制数,转换为十六进制数为 0xffff (或 ffffH),具体转换方法可以用 Python3 函数 hex(65535)。
再来看CPU内存单元物理地址的划分方法:基础地址(段地址[SA] X 16)+ 偏移地址[EA] = 物理地址
此题中已经假设地址总线为16位,所以偏移地址变化范围是 0 ~ 65535,即 0000H ~ FFFFH
因为给定段地址为0001H,则CPU的寻址范围 (0001H + 0000H * 16)~ (0001H + FFFFH * 16),
0001H * 16 为 0001H 左移一位,即 0010H,0000H + 0010H = 0010H, FFFFH + 0010H = 1000FH。
所以 CPU 寻址范围为 0010H 到 1000FH。