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 么?