汝不知者花也 发表于 2020-6-12 15:53:42

检测点2.2

本帖最后由 汝不知者花也 于 2020-6-12 15:59 编辑

检测点2.2

(1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH 。



解题过程:

物理地址=SA*16+EA   

EA的变化范围为0h~ffffh   

物理地址范围为(SA*16+0h)~(SA*16+ffffh)   

现在SA=0001h,那么寻址范围为   

(0001h*16+0h)~(0001h*16+ffffh)   

=0010h~1000fh   
检测点2.2

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

当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。





解题过程:

物理地址=SA*16+EA   

20000h=SA*16+EA   

SA=(20000h-EA)/16=2000h-EA

EA取最大值时,SA=2000h-ffffh=1001h,SA为最小值   

EA取最小值时,SA=2000h-0h=2000h,SA为最大值

zz100113 发表于 2020-6-14 07:15:42

你也刚在学习 汇编基础吗-    +个好友V: z100113一起互相交流探讨啊

sh0whigh 发表于 2020-6-28 14:29:11

//(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为__到__。
//(2)有一段数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应该满足的条件是:最小为__,最大为__。
//提示,反过来思考一下,当短地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?
//1:(10+0)H~(10+FFFF)H=10H~1000FH
//2:20000H-0H=20000H,最大SA=2000H;20000H-FFFFH=10001H,因为段地址必须为16的整数倍,所以SA最小为1001H。

sh0whigh 发表于 2020-6-28 14:31:30

我觉得你的答案是对的,结题解错了。。。。

汝不知者花也 发表于 2020-6-30 11:00:25

sh0whigh 发表于 2020-6-28 14:31
我觉得你的答案是对的,结题解错了。。。。

谢谢指正

405021688 发表于 2020-8-16 16:03:25

本帖最后由 405021688 于 2020-8-19 10:38 编辑

q tha wsj b

ZLLI 发表于 2020-8-23 15:50:26

哥们,最后加错了,得有个F

ZLLI 发表于 2020-8-23 17:09:38

解题过程:

物理地址=SA*16+EA   

20000h=SA*16+EA   

SA=(20000h-EA)/16=2000h-EA

EA取最大值时,SA=2000h-EA/16,同事EA最大的时候取值FFFFH,如何得出SA的值?感觉都不是一个整数。
麻烦有大神能指导一下

18485831542 发表于 2021-2-27 14:53:04

ZLLI 发表于 2020-8-23 17:09
解题过程:

物理地址=SA*16+EA   


我算的时候,感觉得有个小数点{:10_266:}

1355199410 发表于 2021-3-11 14:16:01

第二题解题过程
物理地址=SA*16+EA
20000H=SA*16+(0000H to FFFFH)
SA=2000H-(0000H to 0FFFH)=2000H to 1001H

alphadream 发表于 2021-3-13 15:09:02

本帖最后由 alphadream 于 2021-3-13 15:12 编辑

以楼主和楼上几位的解析基础上,简化一下就是
已知前提EA最小~最大=0000H~FFFFH , SA*16+EA=20000H.求SA对应的最大最小值。(知识点:16进制数乘16,左移1位,反侧右移1位)。
最大-----SA*16+0000H=20000H;      最小-----SA*16+FFFFH=20000H;
SA+000H=2000H;                           SA+FFFH=2000H;
SA=2000H;                                     SA=1001H;

freedomOO 发表于 2021-4-25 10:56:10

感谢,知道自己错在哪里了

Salubrious 发表于 2021-5-24 18:08:19

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

BSir 发表于 2021-8-26 22:52:08

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


题目是要求能取到20000H这个地址,而不是最大的地址是20000H
页: [1]
查看完整版本: 检测点2.2