|

楼主 |
发表于 2019-11-19 19:18:09
|
显示全部楼层
段地址*16+偏移地址=物理地址
段地址sa为1000h的寻址范围是10000h-1ffff
段地址sa为1001h的寻址范围是10010h-2000f
也就是说段地址每增加1那么寻址范围必然是进位的倍数,
如果16进制不好了解那么咱们用10进制来理解
段地址sa为1000h那么十进制是4096,他的寻址范围是65536-131071
段地址sa为1001h那么十进制是4097,他的寻址范围是65552-131087
物理地址20000h那么十进制是131072
那么段地址1000h(十进制4096)是永远不能寻址到20000h(十进制131072)的他的最大寻址地址是1ffff(十进制131071)
从10进制和16进制一对比我们可以看出1000h(十进制4096)至1001h(十进制4097)他的寻址范围十进制就是65536为基址和65552为基址他们之间是相差十进制的16的
所以段地址每增加1那么他的寻址范围就加了16了,所以说段地址*16咱们说的是十进制的16而已也就是说他的进制而已
咱们做个假设这样有利于理解
段地址*10+偏移地址(偏移地址最大为9999)=物理地址
那么就是
1000*10+9999=19999
1001*10+9999=20009
那么寻址到20000就必须是在sa*10的10位内必须包含10001也就是20000-9999
为什么说sa*10的10位内因为段地址每增加1那么寻址的基址就是增加10位(这里只是假设其实是16)
那么10001/10是1000那还余1呢,那也就是说1000是不能寻址到的那么必须进位到1001了
如果可以整除那么就不用进1了
那么如何去计算我的方法是
sa*10=20000-9999
sa=20000/10-9999/10
减数与被减数同时右移不是直接数学计算也就是
sa=2000-999
sa=1001
这里只是用10进制打个比方了解进制和理解他寻址方法和寻址的盲区 |
评分
-
查看全部评分
|