加深地址的计算方式的影响

段地址X16+偏移地址=物理地址, 因为8086CPU有20根地址线,16位寄存器无法表示,所以采取这么一个方式

 

 

第一张只能填3位数字的纸条                        第二 张只能填3位数字的纸条                             物理地址

210 X 10                                                                         726                                                      2826

220 X 10                                                                         626

230 X 10                                                                         526

 

190 X 10                                                                         926

180 X 10                                                                        0~999

永远无法找到最终的物理地址

 

 

 

物理地址                           段地址                  偏移地址

21F60H                      2000H  X  10H                1F60H

一个最终的物理地址只要满足段地址*10H+偏移地址=物理地址  都可以找到同一个物理地址

段地址X10H+偏移地址(0~FFFF)=物理地址

1000*10H+ FFFFH=10000+FFFF=1FFFH  无法表示21F60的

 

 

检测点2.2   

(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为   10H        到  1000FH

段地址X16+偏移地址=物理地址

0001H*10H+(0~FFFFH)=物理地址

10H+0=10H

10H+FFFF=1000FH

(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应该满足的条件是:最小为           ,最大为

提示,反过来思考一下,当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?

段地址X16+偏移地址=物理地址

SA X 10H + (0~FFFFH)=20000H

SA*10H+0=20000H

20000H/10H=2000H=SA       2000H*10H+0=20000H

 

SA*10H+FFFFH=20000H

SA*10H=10001H

10001H/10H=1000H    SA=1000H   1000H*10H+FFFFH=1FFFF(永远都无法找到20000H)

所以段地址是错误的必须给它加上1     1001H*10H+FFFFH=2000FH (20000H包括在范围里面)

所以  SA=1001H

 

posted @ 2020-09-29 16:59  Arthur_hsp  阅读(273)  评论(0编辑  收藏  举报