| 
 | 
 
 
 楼主 |
发表于 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进制打个比方了解进制和理解他寻址方法和寻址的盲区 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |