6848092 发表于 2011-7-21 18:20:40

新手求助·检测题2.2的问题

本帖最后由 6848092 于 2011-7-21 18:24 编辑

(1)给定段地址为001H,仅通过变化偏移地址寻址,CPU的寻址范围为___到___.
2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为___,最大为___。

第一题不理解
00010H我能理解。可是1000FH是怎么得到的呢。算法是怎样的。

udsky 发表于 2011-7-21 23:45:41

给定段地址为001H,加上偏移*16为10H,加上偏移地址的最大寻址范围FFFF等于1000F,你用计算器算下10H+FFFFH的值是多少就行了!:D

udsky 发表于 2011-7-21 23:48:02

加上偏移*16这句话表述不对!:'(   物理地址=(段地址*16+偏移地址)!

tmlnsc 发表于 2011-7-21 23:58:06

呵呵,我来给你说一下啊,8086的寻址能力只有64KB,64KB是多少,是64X1024=65536,但是内存地址标号是以0开始的,所以它录址范围应该是0到65535,换成十六进制就是0000h到ffffh.现在给定段地址是0001h,那么它的寻址范围就是0001:0000H~0001:ffffH,而0001:0000H的真实物理地址是段地址乘以10H加上偏移地址即:0001HX10H+0000H=00010H。同样:0001:ffffH的真实物理地址就是:0001HX10H+ffffH=00010+ffffH=1000fH.如果还看不懂这个结果,列个竖式加法:
   0 0 0 1 0
+   ffff
______________
    1 0 0 0 f
哈, 这下子知道1000f是怎么得来的了吧

6848092 发表于 2011-7-26 09:15:11

tmlnsc 发表于 2011-7-21 23:58 static/image/common/back.gif
呵呵,我来给你说一下啊,8086的寻址能力只有64KB,64KB是多少,是64X1024=65536,但是内存地址标号是以0开始 ...

谢谢啊,好详细哦
页: [1]
查看完整版本: 新手求助·检测题2.2的问题