. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  对于最大64KB,最小16B的疑问  [待解决] 回复[ 6次 ]   点击[ 577次 ]  
mengdewan
[帖 主]   [ 发表时间:2008-12-22 11:56 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07
书上说段地址的最大长度为64KB,后面有人提出最小为16B,即16字节
但是我在3.5章看到这样的话“我们可以这样认为,123BH~123B9H这段内存是一个数据段,它的段地址为123BH,长度为10字节”,这跟我们提出的最小16B矛盾吗?
这里实在不明白,还请知道的给解释下
maodengqi
[第1楼]   [ 回复时间:2008-12-23 08:37 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-11-13 09:19
我认为段的长度最小应该是1b.段的大小不是有偏移地址决定的吗!偏移地址的范围是在0~ffff之间,不能取零吧。因为要空间,所以我觉的应该是1b.
cnhnyu
[第2楼]   [ 回复时间:2008-12-29 22:49 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-22 14:47
偏移地址为何不能取0?
偏移地址在0000-ffff之间, 包括了0000和ffff
段的最大为64K可以肯定, 也没有异议的, 最小的话, 看你怎么去理解, 如果一定要求段包含数据的话, 那么最小就是16B, 如果可以不包含任何数据, 那么可以认为是0, 但是有一点可以肯定的是绝对不是1或者2之类的
楼上的说是1B, 这是不正确的, 假设现在的段地址是1000H, 那么下一个最近的段从什么地方开始? 很显然, 最近的应该是1001H,可是我们知道,它们如果表示成实际的物理内存的话, 应该是偏移16位的,现在它们相差1, 都偏移16位之后, 相差16, 也就是16字节

实际上, 你用debug可以看看, 假设cs=13fc, 那么ds也可以等于13fc, es也可以等于13fc, 很显然, 这些段是重叠的, 如果从一个段开始结束到另一个段开始结束, 这样顺次的关系来看的话, 可以认为段的最小长度为0
cnhnyu
[第3楼]   [ 回复时间:2008-12-29 23:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-22 14:47
我们需要清楚一点的是, 段是从cpu的角度对物理内存的划分, 每个段的首地址都必须是16的倍数, 也就是说,每个段的地址的最后一个16进制位必然为0, 比如A段的地址为56780H, 那么下一个段B的地址必然是56790H,那么A段的实际大小应该是B段的地址-A段的地址=10H=16D, 也就是16个字节, 我们平时把段写成4个16进制位, 这个实际上隐含的把最后一个0去掉了, 这也导致了为什么我们计算物理地址的时候要把段地址偏移16位的原因
mengdewan
[第4楼]   [ 回复时间:2008-12-31 10:00 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07
我们需要清楚一点的是, 段是从cpu的角度对物理内存的划分, 每个段的首地址都必须是16的倍数, 也就是说,每个段的地址的最后一个16进制位必然为0, 比如A段的地址为56780H, 那么下一个段B的地址必然是56790H,那么A段的实际大小应该是B段的地址-A段的地址=10H=16D, 也就是16个字节, 我们平时把段写成4个16进制位, 这个实际上隐含的把最后一个0去掉了, 这也导致了为什么我们计算物理地址的时候要把段地址偏移16位的原因
------------------
回复:是不这样理解?段地址56780H,偏移地址5H  和段地址56780,偏移地址6H,其实是在一个断中,因为他们的段地址相同
cnhnyu
[第5楼]   [ 回复时间:2008-12-31 11:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-22 14:47
对, 可以这么理解
mengdewan
[第6楼]   [ 回复时间:2008-12-31 18:49 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07
对, 可以这么理解
------------------
回复:谢谢楼上的解答,终于想通了,祝你元旦快乐
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved