郝凡呀 发表于 2021-2-9 19:25:57

检测点2.2

本帖最后由 郝凡呀 于 2021-2-10 18:14 编辑

(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。
(2) 有一个数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H。
   提示,反过来思考一下,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元。
         {:10_279:}

任修行 发表于 2021-5-20 19:24:29

可能汇编语言这本书的检测题每版都有一部分不一样,我去对答案跟别人的不一样以为我是理解走偏了百思不得其姐{:10_269:},{:10_250:}

Salubrious 发表于 2021-5-24 18:05:38

段地址 最小为1001h    最大值为 2000h
这样的话   物理地址 =sa*16+ea
      选最小值 来计算
   10010h+ffffh 等于2000fh
          这就大于   20000h 了
百思不得解,求解惑啊啊

ricexue 发表于 2021-11-9 20:45:57

Salubrious 发表于 2021-5-24 18:05
段地址 最小为1001h    最大值为 2000h
这样的话   物理地址 =sa*16+ea
      选最小值 来计算


这道题的寻址地址为20000H,最低位为0,同时段地址又必须为16的倍数;
若你偏移地址为FFFF,你无论给出怎样的段地址,得出来的物理地址的最低位都不可能为0.
这样的话,偏移地址最大只能是FFF0H,将段地址在1000H的基础上加16,变成1001H

寒泉居士 发表于 2022-3-5 15:00:31

终于有一个答案一样的了

carefreescan 发表于 2022-4-16 11:29:24

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地址

射手小八 发表于 2022-6-8 14:22:20

Salubrious 发表于 2021-5-24 18:05
段地址 最小为1001h    最大值为 2000h
这样的话   物理地址 =sa*16+ea
      选最小值 来计算


最大偏移地址是fff0H是不是就解决了

541忆 发表于 2022-8-24 00:30:17

1000H 2000H

东风便周郎 发表于 2022-8-27 19:58:07

1

wuyuH 发表于 2023-1-14 16:27:35

到底哪个答案是正确的啊
页: [1]
查看完整版本: 检测点2.2