检测点2.2
本帖最后由 郝凡呀 于 2021-2-10 18:14 编辑(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。
(2) 有一个数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H。
提示,反过来思考一下,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元。
{:10_279:} 可能汇编语言这本书的检测题每版都有一部分不一样,我去对答案跟别人的不一样以为我是理解走偏了百思不得其姐{:10_269:},{:10_250:} 段地址 最小为1001h 最大值为 2000h
这样的话 物理地址 =sa*16+ea
选最小值 来计算
10010h+ffffh 等于2000fh
这就大于 20000h 了
百思不得解,求解惑啊啊 Salubrious 发表于 2021-5-24 18:05
段地址 最小为1001h 最大值为 2000h
这样的话 物理地址 =sa*16+ea
选最小值 来计算
这道题的寻址地址为20000H,最低位为0,同时段地址又必须为16的倍数;
若你偏移地址为FFFF,你无论给出怎样的段地址,得出来的物理地址的最低位都不可能为0.
这样的话,偏移地址最大只能是FFF0H,将段地址在1000H的基础上加16,变成1001H 终于有一个答案一样的了 Salubrious 发表于 2021-5-24 18:05
段地址 最小为1001h 最大值为 2000h
这样的话 物理地址 =sa*16+ea
选最小值 来计算
段地址 最小为1001h 最大值为 2000h
寻址范围计算:1001 * 10 + 0000-FFFF, 2000*10 + 0000-FFFF
结果是10010-2000f, 20000-2FFFF,
这两个段中都能寻址到 20000地址,并且刚好在范围以内
自然而然 第三题答案是 小于 1001 或大于 2000的段地址必然寻址不到 20000地址 Salubrious 发表于 2021-5-24 18:05
段地址 最小为1001h 最大值为 2000h
这样的话 物理地址 =sa*16+ea
选最小值 来计算
最大偏移地址是fff0H是不是就解决了 1000H 2000H 1 到底哪个答案是正确的啊
页:
[1]