本人刚学汇编不久..有问题请教

来源:百度知道 编辑:UC知道 时间:2024/05/06 07:40:47
当段重叠时,一个存储单元的地址可表示成多个逻辑地址.请问物理地址12345H可表示多少个不同的逻辑地址?偏移最大的逻辑地址是什么?偏移最小的逻辑地址是什么?

楼上的同志你搞错了吧!
一个段不是最大容量为64K啊,只不过是一个小段为64K,并不是最大容量好吧。

还有,一个物理地址可以用n个逻辑地址表示出来,只不过它们可能映射关系就不同了,就像12345=12340+5和12345=12300+45一样,当然,这样的例子就不能多得再多了。

至于那个最大偏移地址和最小偏移地址,我同意楼上所说的,(实际上也就是那么算的),段地址最后四位必须是0,也就是一个十六进制的0h,只是,平时我们给段地址赋值的时候,只赋前面16位(因为是16位寄存器,最多表示16位),后面的四位将在编译时,自动处理。

16位CPU把内存空间分为若干个逻辑段,每个逻辑段的要求如下:
1) 逻辑段的起始地址(段地址)必须是16的倍数,即最后4个二进制位必须全为0。
2) 逻辑段的最大容量为64K,这由16位寄存器的寻址空间所决定。
按照这个要求,12345H可以表示1234=4660个逻辑地址。
故最大偏移的逻辑地址是当段基址为10000H的时候,偏移为2345H。
最小偏移的逻辑地址是当段基址为12340H的时候,偏移为5H