. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  【检测点】2.2 看我理解的是否正确  [已解决] 回复[ 7次 ]   点击[ 404次 ]  
regex
[帖 主]   [ 发表时间:2009-12-21 14:56 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
(1)给定段地址为1000H,仅通过变化偏移地址寻址, CPU的寻址范围[00010H--1000FH.
#因为偏移地址变化范围0~FFFFH,所以最大便宜为FFFFH,根据物理地址=段地址X16+偏移地址公式计算即可

(2) 有一数据存放在内存20000H单元中, 给定段地址为SA, 若想用偏移地址寻址此单元。 则SA应满足的条件是:最小为:0001H,最大为:1FFFH
#因为CPU怎么变化偏移地址都无法超过给出的物理地址20000H,因为段地址与偏移地址都是16的倍数, 所以SA最大的情形如下
a:20000H-10H=1FFF0H
b:1FFF0H/10H=1FFFH
c:验证:
1FFFHX16+10=20000H

请大家指教
scuzg
[第1楼]   [ 回复时间:2009-12-21 20:06 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
(1)的答案应该是10000H~1FFFFH才对。
(2)最大的段址应该是 2000h:当偏移量为 0 时,20000h 单元位于该段起点;
而最小段地址应该满足:
    x*16+0ffffh = 20000h
则:
    x = (20000h - 0ffffh)/16
      = (20000h - 10000h + 1)/16
      = (10000h + 1)/16
      = 1000h + 1/16
显然,能够将物理地址为 20000H 的单元包含在内的最小段地址是 1001H, 这时访问该单元的偏移量是 0ffe0h;而段地址为 1000h 的段最远只能访问物理地址为1ffffH的单元。
regex
[第2楼]   [ 回复时间:2009-12-21 23:40 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
(1), 给定的段地址是0001H, 不好意思, 我输入错误。
(2),我在思考一下
谢谢
regex
[第3楼]   [ 回复时间:2009-12-22 01:08 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
感谢scuzg兄解释
1,最大段地址是2000H, 这我明白啦, 因为偏移地址可以是0
而2中您所说的0fffh, 是怎么来的呢, 我有点糊涂, 如方便望解惑
scuzg
[第4楼]   [ 回复时间:2009-12-22 08:47 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
楼主说的0fffh是不是少了一个 f ? 是0ffffh吗?
0ffffh 是一个段的最大偏移量。
acool
[第5楼]   [ 回复时间:2009-12-22 10:03 ]   [引用]   [回复]   [ top ] 
荣誉值:49
信誉值:0
注册日期:2008-10-15 16:15
段地址和偏移地址都是16位寄存器存放的,所以它的最小值是0,最大是ffffH。(这个数值也是指无符号说的)
regex
[第6楼]   [ 回复时间:2009-12-22 11:15 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
感谢楼上两位。

明白啦!!!

就是说一个段最大长度是64KB(FFFFH),用20000H减去这个最大长度就是这个地址的最小其实地址。
regex
[第7楼]   [ 回复时间:2010-01-01 15:31 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
此贴由 贴主 于 [ 2010-01-01 15:31 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved