鱼C论坛

 找回密码
 立即注册
查看: 8687|回复: 13

[汇编作业] 检测点2.2

[复制链接]
发表于 2020-6-12 15:53:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 汝不知者花也 于 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为最大值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-14 07:15:42 | 显示全部楼层
你也刚在学习 汇编基础吗-    +个好友  V: z100113  一起互相交流探讨啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-28 14:31:30 | 显示全部楼层
我觉得你的答案是对的,结题解错了。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-30 11:00:25 | 显示全部楼层
sh0whigh 发表于 2020-6-28 14:31
我觉得你的答案是对的,结题解错了。。。。

谢谢指正
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-16 16:03:25 | 显示全部楼层
本帖最后由 405021688 于 2020-8-19 10:38 编辑

q tha wsj b
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-23 15:50:26 | 显示全部楼层
哥们,最后加错了,得有个F
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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的值?感觉都不是一个整数
麻烦有大神能指导一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-27 14:53:04 From FishC Mobile | 显示全部楼层
ZLLI 发表于 2020-8-23 17:09
解题过程:

物理地址=SA*16+EA   

我算的时候,感觉得有个小数点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-11 14:16:01 | 显示全部楼层
第二题解题过程
物理地址=SA*16+EA
20000H=SA*16+(0000H to FFFFH)
SA=2000H-(0000H to 0FFFH)=2000H to 1001H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-25 10:56:10 | 显示全部楼层
感谢,知道自己错在哪里了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-24 18:08:19 From FishC Mobile | 显示全部楼层
段地址 最小为1001h    最大值为 2000h
这样的话   物理地址 =sa*16+ea
      选最小值 来计算
     10010h+ffffh 等于  2000fh
          这就大于   20000h 了
百思不得解,求解惑啊啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-26 22:52:08 | 显示全部楼层
Salubrious 发表于 2021-5-24 18:08
段地址 最小为1001h    最大值为 2000h
这样的话   物理地址 =sa*16+ea
      选最小值 来计算

题目是要求能取到20000H这个地址,而不是最大的地址是20000H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 05:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表