给定地址段为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为____到____

时间:2024-04-16 10:58:40

此题解题背景默认为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。