. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  偏移地址:0-FFFFH,可以寻找64KB个内存单元??请问是怎么计算的?  [待解决] 回复[ 3次 ]   点击[ 426次 ]  
hdlyoyo
[帖 主]   [ 发表时间:2010-01-14 12:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-01-08 13:00
书上说可以仅用便宜地址就可以寻找到64KB个内存单元,是怎么回事,不明白?
scuzg
[第1楼]   [ 回复时间:2010-01-15 09:52 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
看看这两篇博文,希望对你有帮助:
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=19481&kindId=34937&postId=42045&readSg=1
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=19481&kindId=34937&postId=42062&readSg=1
stone844
[第2楼]   [ 回复时间:2010-01-22 21:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-01-22 21:14
2的16次方B=64KB
dking94
[第3楼]   [ 回复时间:2010-03-24 16:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-01-01 22:16
你是说的栈的偏移吗?若是,往下看。
偏移地址是放在sp中的,sp是16位寄存器,所以可表示的值范围是0-FFFFH(这个应该明白哈?2进制16个1就是FFFFH,这是2进制到16进制转换)。0-FFFFH就是十进制的0-2^16-1(先16次幂再减1)共2^16个数(就像0-7,共8个数),所以寻找2^16=2^6*2^10=2^6K=64K个内存单元。(2^10=1K)
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved