鱼C论坛

 找回密码
 立即注册
查看: 2636|回复: 5

[已解决]仅通过变化偏移地址寻址是啥意思

[复制链接]
发表于 2019-6-11 22:46:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
偏移地址16位,变化范围为0-FFFFH,仅用偏移地址来寻址最多可寻64KB个内存单元。

给定段地址为0001H,仅通过变化偏移地址寻址,cpu的寻址范围为(0010H --- 1000F)。
0001H*10H+0 ---- 0001H*10H + FFFFH
0010H      ----  1000F

问题1:0010H --- 1000F  这个寻址是把16位 8086的内存 分成了一段吗?
问题2 :仅通过变化偏移地址寻址是啥意思?
最佳答案
2019-6-12 01:18:25
1.  是分成一段的   因为栈有取值范围。

2.  请看汇编语言 , 2.7   “段地址×16+偏移地址=物理地址”
我的理解是   
他里面说的  你去图书馆

有两种方法,

1.    直接到达。  

2 ,  先到达一段距离 ,然后再加上一段距离 。  

加上限制添加的   纸条的大小

第一种直接到达  需要 存放四个数长度的纸条,

第二种 只有存放三位数的纸条    。

先在纸条上写上200(基地址),然后再在纸条上写上826(偏移地址)
    200×10+826= 2826

这里面的纸条就相当于总线长度 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-6-12 01:18:25 | 显示全部楼层    本楼为最佳答案   
1.  是分成一段的   因为栈有取值范围。

2.  请看汇编语言 , 2.7   “段地址×16+偏移地址=物理地址”
我的理解是   
他里面说的  你去图书馆

有两种方法,

1.    直接到达。  

2 ,  先到达一段距离 ,然后再加上一段距离 。  

加上限制添加的   纸条的大小

第一种直接到达  需要 存放四个数长度的纸条,

第二种 只有存放三位数的纸条    。

先在纸条上写上200(基地址),然后再在纸条上写上826(偏移地址)
    200×10+826= 2826

这里面的纸条就相当于总线长度 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-12 10:21:07 | 显示全部楼层
问题1:的确是分成了一段,不过上面的表述有点问题,我觉得应该0010H --- 1000FH这样才对,后面的H是表示16进制,然后前边的0010+FFFF 刚好是1000F。问题2:仅通过变化偏移地址寻址的意思是在一段内存地址内一共有多少种不同的可能性,因为偏移地址是16位的,所以可能性是2的16次方,就是64KB了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-12 16:39:02 | 显示全部楼层
小结一下:

在16位的CPU下,寄存器大小是固定的(16bit),但是内存的地址范围比较大,那么只能通过两个寄存器来确定一个内存的地址。

所以就有了,段+偏移的方式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-6-18 10:37:27 | 显示全部楼层
Seawolf 发表于 2019-6-12 10:21
问题1:的确是分成了一段,不过上面的表述有点问题,我觉得应该0010H --- 1000FH这样才对,后面的H是表示16 ...

你的答案是最佳的 可惜我给别人了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-18 12:44:40 | 显示全部楼层
琴长不过时光 发表于 2019-6-18 10:37
你的答案是最佳的 可惜我给别人了

没事哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-3 02:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表