当前位置: 代码迷 >> 汇编语言 >> 王爽8086的汇编,里面的习题,小弟我做了一下,希望可以得到大家的点评,怕自己写错都不知道
  详细解决方案

王爽8086的汇编,里面的习题,小弟我做了一下,希望可以得到大家的点评,怕自己写错都不知道

热度:263   发布时间:2016-05-02 04:39:26.0
王爽8086的汇编,里面的习题,我做了一下,希望可以得到大家的点评,怕自己写错都不知道
本帖最后由 luguangbiao 于 2014-02-13 16:59:44 编辑
8086CPU的问题,该CPU是16位的。

题目1:
给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为    到    。
答:
根据SA*16+EA=物理地址的公式,那么起始地址应该是0001H*10=10H,而16位的最大值为FFFFH,这里偏移地址为FFFFH-10H,那么偏移地址就是FFEF,这里的CPU寻址范围是10H到FFEFH。

题目2:
有一数据存放在内存20000H单元中,先给定段地址为SA,若想用偏移地址寻到此单元,则SA应该满足的条件是:最小为   ,最大为     。
答:
SA*16+EA=20000H
最小值为0001H*10=10H,最大值FFFFH-0001H*10=FFEFH

反思题:
当段地址给定多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?
答:
我的想法是20000H-FFFF,结果为10001H,在减去1就是10000,退一位就是1000,那么结果就是1000以下都找不到20000H单元了!


求各位大神点评,看我做得对不对,如果不对请写评论点评一下,不然都不知道错在哪里
------解决方案--------------------
1000F 说的是完整地址吧,20 位的;“大于FFFFH”之说,说的只是偏址,16 位的。

到底第一题是多少,这还有疑问?不就是 0001:0000 - 0001:FFFF 吗?计算成完整的地址就是 00010 - 1000F 么?