. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
主题 : :  检测点2.2 第二题 有点不理解  [待解决] 回复[ 10次 ]   点击[ 625次 ]  
gaowei_hb
[帖 主] [ 发表时间:2012-06-05 16:56 ] 
荣誉值:0
信誉值:0
注册日期:2012-05-10 17:28
个人分析:
SA*16+偏移地址(0~FFFFH)=20000H
SA=10001H/16 ~ 20000H/16
SA=1000.1H~2000H

知道段地址必须是16的倍数
可是结果的1001H~2000H这个范围的1001H 是怎么算出来?是不是1001H是最接近1000.1H的16的倍数的值啊?
742224144
[第6楼] [ 回复时间:2012-06-25 20:05 ] 
荣誉值:0
信誉值:4
注册日期:2012-06-25 19:51
额,我是这样理解的,不知道是否正确......
20000H - FFFFH(偏移地址) = 10001H(段地址*10H)
20000H - 0H(偏移地址)= 20000H(段地址*10H)

10001H/ 10H = 1000.1H,因为段地址为4位,所以需要把.1舍去,怎么办呢?(要么-0.1,要吗+0.9)10001H-1H = 10000H (段地址*10H)等价于FFFFH+1H,又因为FFFFH 已经最大,所以想要消除小数,只能10001H+FH= 10010H(段地址*10H),此时,段地址为1001H,偏移地址为FFF0H.
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved