. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
主题 : :  检测2.2  [待解决] 回复[ 12次 ]   点击[ 766次 ]  
be900
[帖 主] [ 发表时间:2010-05-07 11:56 ] 
荣誉值:0
信誉值:0
注册日期:2010-03-29 15:49
以下是我的答案,帮忙检查下
1. 00010H~1000FH
物理地址=SA*16+EA
最小值: 0001H*16+0H=00010H
最大值: 0001H*16+FFFFH=1000FH
--------------------------------------------
2. 1001H~2000H
20000H=SA*16+EA 
最大值: 20000H=SA*16+0H  ==> SA*16=20000H
最小值: 20000H=SA*16+FFFFH  ==> SA*16=10001H

>>>SA需要是16的倍数. 那么公式算出来的答案1001H是不对的. 希望高手指点下...
----------------------------------------------
3. 
20000H=SA*16+EA
EA的取值范围是0H~FFFFH
当SA*16+0>20000H时, 得到SA>2000H
当SA*16+FFFFH<20000H时, 得到SA<1000H
hackzhaowei
[第1楼] [ 回复时间:2010-05-07 17:45 ] 
荣誉值:0
信誉值:0
注册日期:2010-05-03 15:55
设偏移地址为:A。 基础地址为B。 段地址为:SA。
 所以SA*16+A=20000H。
偏移地址A的变化范围为:0H-FFFFH,所以最大的基础地址B为:2000H。
当A为FFFFH时,可以求得基地址的最小值。
公式如下:B*16+(FFFFH-1H)=20000H。
因为存储单元是从0H开始的,所以偏移地址是0H-(FFFFH-1H)。
所以基础地址为1001H。
我想你是在这出问题了。
这个是我自己解答的,我开始也和你想的一样。如果有高手认为我是错的。我希望能交流交流。希望不吝赐教。谢谢。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved