王爽汇编语言(第2版)检测点2.2
知识点:
偏移地址16位,变化范围为0~FFFFH
基础地址(段地址X16)+偏移地址=物理地址
基础地址必须是16的倍数
16是十进制数据对应的十六进制数据是10H
(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为____到____。
计算公式:
0001H X 16 + 0000H = 0010H
0001H X 16 + FFFFH = 1000FH
CPU的寻址范围为 00010H 到 1000FH
(2) 有一数据存放在内存 20000H 单元中,现给定地址为 SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为_____,最大为______________。
提示,反过来思考一下,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?
计算SA最大值公式:
20000H – 0000H = 20000H // 计算基础地址
20000H / 10H = 2000H // 计算段地址
计算最小值公式:
20000H – FFFFH = 10001H // 计算基础地址
基础地址必须是10H的倍数,10001H并不是10H的倍数,所以上面偏移地址的最大值不能取FFFFH。
基础地址必须是10H的倍数且最后一位必须是0,要想基础地址最后为0,那偏移地址的最后也必须是0,所以偏移地址要取FFF0H。
20000H – FFF0H = 10010H // 计算基础地址
10010H / 10H = 1001H // 计算段地址
SA应满足的条件是:最小为:1001H,最大为2000H。