汇编网首页登录博客注册
ql0114的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2012-06-14 22:59] 检测点2.2

1.00010H到1000fH
2.SA最小为1000H最大为2000H.
  段地址>=200fH 段地址<=ff1H
请老师指点
评论次数(8)  |  浏览次数(472)  |  类型(汇编作业) |  收藏此文  | 

[  fpamc   发表于  2012-06-14 23:18  ]

第二小题不对的。

[  ql0114   发表于  2012-06-15 10:03  ]

我的计算过程是:
SA*16+偏移地址=20000H
SA*16=20000H-偏移地址
偏移地址最小0H即SA为最大
SA*16=20000H-0H
SA=2000H
偏移地址最大ffffH即SA为最小
SA*16=20000H-ffffH
SA*16=10001H
SA=1000H

段地址>=200fH因为200fH是2000H后第一个为16倍数的地址
同理
段地址<=ff1H是1000以前第一个16倍数的地址
好像记得书上讲段地址应该为16的倍数。

[  fpamc   发表于  2012-06-15 10:08  ]

2.        有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为1001H,最大为2000H。 
解题思考: 
常理为,偏移地址最小时:20000H=SA×16+0………….SA=2000H 
      偏移地址最大时:20000H=SA×16+FFFFH……SA×16=10001H 
因为,SA×16必然是16的倍数,所以一个段的起始地址也应该是16的倍数。 
所以,偏移地址最大时:20000H=SA×16+FFF0H 
      SA=1001H 

提示,反过来思考一下,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元? 
答:SA<1001H,SA>2000H

[  fpamc   发表于  2012-06-15 10:11  ]

起始地址+偏移地址=物理地址=段地址×16+偏移地址

[  fpamc   发表于  2012-06-15 10:12  ]

所以,
起始地址=段地址×16

[  ql0114   发表于  2012-06-15 16:14  ]

对于每一个物理地址末尾一位为0的最大偏移地址都是fff0H

[  fpamc   发表于  2012-06-15 16:41  ]

对的,

[  ql0114   发表于  2012-06-16 11:13  ]

哦,谢谢老师指点。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码