. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  段的大小,和段的长度的概念是如何理解的,请各位指教。  [已解决] 回复[ 4次 ]   点击[ 416次 ]  
doit
[帖 主]   [ 发表时间:2009-02-16 14:10 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:6
注册日期:2009-02-09 10:54
做检测题的时候,有一个题目的提法是:
一个段的大小可以是8Byte。

还有书上
P26页对图2.10说明文字中的描述:
地址:20000H~20002H,内容:B8 23 01,长度:3Byte,对应汇编指令:mov ax,0123H

想知道 段的大小 和 长度的区别。

之前看了一篇贴子:
《对于最大64KB,最小16B的疑问》
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1003&qkSg=2&qID=29162&readSg=1
另外书中 2.8  段的概念 是这样描述的:
16位地址的寻址能力为64KB,所以一个段的长度最大为64KB
不知这里说的长度 和 P26页的长度是否是相同啊?若相同,那最小长度不应该是16B啊


这个疑问已经困扰很久了,不知道是否比较低级,希望通过讨论能明白一点...
doit
[第1楼]   [ 回复时间:2009-02-16 14:15 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:6
注册日期:2009-02-09 10:54
我对 16位地址的寻址能力为64KB,所以一个段的长度最大为64KB  的理解是这样的:
就说16位地址,有2的16次方种寻址的可能性,结果就是65536B=65536/1024KB=64KB


书上述:可以根据需要,将地址连续、起始地址为16的倍数的一组内存单元定义为一个段。
如果这样理解的话,一个段最小应该两个连续的物理地址就可以了,长度应该是2B?
abob
[第2楼]   [ 回复时间:2009-02-16 15:04 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
我对 16位地址的寻址能力为64KB,所以一个段的长度最大为64KB  的理解是这样的: 
就说16位地址,有2的16次方种寻址的可能性,结果就是65536B=65536/1024KB=64KB 
-------------
这个是第一章的内容,检测点1.1就有这类的填空。计算的结果没错,不过有些繁琐,没有必要出现65536B的大数,楼主可以去论坛找找这个相关的帖子看看。

书上述:可以根据需要,将地址连续、起始地址为16的倍数的一组内存单元定义为一个段。 
如果这样理解的话,一个段最小应该两个连续的物理地址就可以了,长度应该是2B?
----------------
不同的段必然有不同的段地址,而对于段地址相差的最小也需要是1。也就是说两个段地址相差是1时,段值小的数是最小的段。(根据物理地址=段地址*16+偏移地址,一个段的起始地址偏移地址=0,也就是说一个段的起始地址=段地址*16即段的起始地址必然是16的倍数-见2.8段的概念)
假设段地址可以为1或2,他们的物理地址差是00020H-00010H=10H,也就是一个段最小是16Byte。(对于地址总线,寻址的是存储单元,见第一章)
abob
[第3楼]   [ 回复时间:2009-02-16 15:12 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
还有书上 
P26页对图2.10说明文字中的描述: 
地址:20000H~20002H,内容:B8 23 01,长度:3Byte,对应汇编指令:mov ax,0123H 

想知道 段的大小 和 长度的区别。 
--------------
这个楼主已经把这两个概念弄混了,这里面根本就看不出段的大小,只可以说20000H的起始段地址可能是2000H。

这里面说的长度是汇编指令mov ax,0123H的长度,这个长度如上面说的是3Byte。mov ax,bx的长度是2Byte。--》这个问题可以不用去管他,这个是编译器的事情,你写一个汇编指令,编译器会把他转换成相应的机器码。当然为了尽量的节省资源和高效等原因,它会采用一个既能满足要求又可以减少空间占用的规则,而这个规则的表现就是我们看到我们的指令对应的机器码不同和占的字节数不同。
doit
[第4楼]   [ 回复时间:2009-03-02 10:17 ]   [引用]   [回复]   [ top ] 
荣誉值:6
信誉值:6
注册日期:2009-02-09 10:54
此贴由 贴主 于 [ 2009-03-02 10:17 ] 结贴。 结贴原因:问题已解决
得分情况: 2楼(abob):3分   3楼(abob):3分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved