. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  关于检测点2.2 的问题  [待解决] 回复[ 5次 ]   点击[ 458次 ]  
nc3639
[帖 主]   [ 发表时间:2011-04-22 18:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-15 20:16
给定段地址为0001H,通过偏移地址来寻址,我的理解是把0001加上个0,变为00010H,但寻址范围是从00010H到多少呢 ?
第二题中 我的理解是最小为2000H,也就是把20000H去掉一个0,但最大是多少呢?

还有下面的提示,直接就无从理解了 。我是不是很笨,还能学会吗?
z350459698
[第1楼]   [ 回复时间:2011-04-23 19:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-01-05 22:26
首先给你内存单元是20000H,偏移地址最大是FFF0H,最小是0000H,当偏移地址是FFF0时,段地址最小=1001H,当偏移地址是0000时,段地址最大=2000H
个人理解,仅供参考···
z350459698
[第2楼]   [ 回复时间:2011-04-23 19:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-01-05 22:26
顺便说下偏移地址为什么最大是FFF0,首先段地址是要*16的,所以段地址最后一位肯定是0,可以得出偏移地址的最后一位和内存单元最后一位是一致的,所以偏移地址最后一位也必须是0
个人理解,如果有更深层次的理解,希望老鸟提出来····
kmohe
[第3楼]   [ 回复时间:2011-04-23 21:13 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-04-18 20:17
楼上正确..
因为内存单元也就是物理地址已经给定了是20000H.
pascal.s
[第4楼]   [ 回复时间:2011-05-07 00:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-06 06:09
我的理解:
给定段地址为0001H,通过偏移地址来寻址,则寻址范围为:0001H:0000H~0001H:FFFFH。根据物理地址=SA*10H+EA,可以算出寻址范围为:00010H~1000FH。
huifeideyu
[第5楼]   [ 回复时间:2011-05-24 22:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2011-05-24 21:19
第一题中  段地址已经给定了0001H  物理地址为0010H+偏移地址,偏移地址的变化范围为0000H~FFFFH 因为我们讨论的都是8086CPU 所以偏移地址都是16位的。   所以第一题的变化范围就是0010H到1000FH
第二题  见二楼
提示答案是  当段地址小于1001H时 CPU无论怎么变化偏移地址都无法寻到20000H单元
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved