汇编语言基础问题有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是

1个回答

  • 首先, 物理地址 = 段地址 * 10H + 偏移地址

    现在我们知道了物理地址为20000H, 且偏移地址的范围是0000H ~ 0FFFFH

    所以段地址 * 10H = 20000H - 0000H 或者 20000H - 0FFFFH

    所以段地址 = 20000H / 10H 或者 10001H / 10H

    段地址 = 2000H(最大) 或者 1001H(最小, 有余数1, 向上取整)

    这里有一个很容易错误的地方就是, 很多人会将最小段地址设置成1000H, 这是不对的

    因为如果段地址为1000H的话,那么加上偏移地址的话, 那么它的物理地址的范围就

    为10000H ~ 1FFFFH, 取不到20000H,这个地址

    PS:若有不明白的地方, 请追问