时明 发表于 2012-4-15 21:37:33

检测点2.2_中的详细解释

题目:有一个数据存放在内存20000H单元中,现给定段地址为 SA, 若想用偏移地址寻到此单元,则SA应该满足的条件是: 最小值为    1001H   最大值为 2000H。

20000H为物理地址; 16位偏移量的最小~最大值的取值是范围0000H~FFFFH
最小
    当偏移量为FFFFH的时候,SA可取最小值20000H - FFFFH = 10001H
    求得基础地址的值为10001H, 基础地址必须满足是10H的倍数(再次说明一下:基础地址=段地址*10H,由些可知:基础地址必须满足是10H的倍数,这才是重点!),
而10001H不为10H的倍数,所以偏移地址最大只能取到FFF0H才能使“段地址*16”的值为16(即10H)的倍数,即
    20000H - FFF0H = 10010H
    10010H/10H = 1001H
    此时“段地址*16”取得最大值10010H;所以段地址能取得的最大值是1001H
最大
    当偏移量为0000H时,SA可取最大值
    20000H - 0000H = 20000H
    20000H/10H = 2000H

有同意见解的来顶一下!特别是 “再次说明”部分!

INout 发表于 2013-8-10 17:43:48

貌似终于懂这个FFF0H从何而来了。谢谢

随风的季节 发表于 2013-9-9 22:46:41

谢谢终于有点明白了

飞翔工作室 发表于 2013-9-9 23:01:20

0000H~FFFFH我也知道怎么回事了。呵,以前看天书一样的
页: [1]
查看完整版本: 检测点2.2_中的详细解释