. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  25页,检测点2.2  [待解决] 回复[ 15次 ]   点击[ 713次 ]  
yuprxk
[帖 主]   [ 发表时间:2010-11-04 17:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-10-25 16:06
有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为_____,最大为______。
qucklay
[第1楼]   [ 回复时间:2010-11-04 18:51 ]   [引用]   [回复]   [ top ] 
荣誉值:10
信誉值:0
注册日期:2009-06-25 23:01
SA    OFFSET
最小 0x1001  0xfff0
最大 0x2000  0x0
guoqingshun123
[第2楼]   [ 回复时间:2010-11-19 20:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-11-18 22:02
楼上正解,不过不知道是不是一定要写这种格式,不知道为什么这样写,请教一下
guoqingshun123
[第3楼]   [ 回复时间:2010-11-19 20:52 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-11-18 22:02
回复:[第1楼]
------------------
不知道为什么这样写,请教一下学长
xohome
[第4楼]   [ 回复时间:2010-11-24 11:37 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:2
注册日期:2010-11-24 11:04
偏移地址最大活动返回为:0000H - FFFFH
最小:SA*10H + FFFFH(最大值) = 20000H  -->1001H  CS:IP = 1001H:FFFFH
最大:SA*10H + 0000H(最小值) = 20000H  -->2000H  CS:IP = 2000H:0000H
jtrakn
[第5楼]   [ 回复时间:2010-11-29 11:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2010-11-25 19:35
0x表16制。。可以用后加h表示。。不一定要那种
rebelsky
[第6楼]   [ 回复时间:2010-12-03 08:35 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2010-09-13 09:09
SA*16+EA<20000H
SA*16<20000H-EA
当EA=0时,SA*16取得最大值SA*16<20000H
SA<2000H
当EA=FFFFH时,SA*16取得最小值,SA*16<20000H-FFFFH=10001
SA<1001H
rebelsky
[第7楼]   [ 回复时间:2010-12-03 08:41 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2010-09-13 09:09
补充下,我觉得是SA<1000H,而不是1001H
goodxiaowan
[第8楼]   [ 回复时间:2010-12-14 10:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-23 12:24
补充下,我觉得是SA<1000H,而不是1001H
------------------
回复:
为什么是sa<1000H?
specter
[第9楼]   [ 回复时间:2010-12-16 02:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-14 21:49
笨方法:
求段地址最小值,也就是说偏移量应该是最大值才对,也就是 FFFFH。
那么就用已知的物理地址20000H-FFFFH=10001H,
再将结果右移4个比特位=1000H(段地址)
1000H*16+FFFFH=1FFFFH,这个结果跟本是给出来的20000H的物理地址着了1H!
所以将上面的1000H段地址加上1H,1000H+1H=1001H,
结果出来了:1001H*16=10010H(那知偏移量就变成 FFF0H 了)。
方法有点笨,数学学的不好!
还请各位学长给个简单的思路!!!
specter
[第10楼]   [ 回复时间:2010-12-16 02:10 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-14 21:49
打错字了,应该是(这个结果跟本“题”给出来的20000H的物理地址“差”了1H!)
liber
[第11楼]   [ 回复时间:2010-12-16 19:15 ]   [引用]   [回复]   [ top ] 
荣誉值:8
信誉值:0
注册日期:2010-12-15 20:35
9楼的兄弟解释的好,
要找的地址是20000H,SA和EA怎么变化都得等于它。
linfeng0928
[第12楼]   [ 回复时间:2011-01-11 21:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-01 18:29
6楼的疑点也是我的疑点,赞成9楼.谢谢分享
a88510
[第13楼]   [ 回复时间:2011-01-28 16:49 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-01-26 21:21
只要是十六的倍数就好了= =十六的倍数就是最后一个数字为0,就是这样,用得着九楼的分析吗???
yishuihan
[第14楼]   [ 回复时间:2011-10-30 11:01 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-10-23 20:55
呵呵,都不正确!
ljl
[第15楼]   [ 回复时间:2011-11-25 21:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-11-19 15:29
9楼的分享很好,谢谢。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved