首页
社区
课程
招聘
[旧帖] 求助] 请教下关于汇编中“偏移”问题 0.00雪花
发表于: 2010-6-1 21:18 1805

[旧帖] 求助] 请教下关于汇编中“偏移”问题 0.00雪花

2010-6-1 21:18
1805
本人不才,初中二年级毕业,也想学学编程之类的。今天在学习的过种中,有一个地方不太理解,望高手给小弟指点指点,不屑回答的请绕道(别丢砖

问题: 汇编寄存器中的

物理地址=段地址X16+偏移地址 然后教程给的图是这样的


偏移我理解,就是那个“段地址X16”的地址不明白,公式上写的是“段地址X16”,但图上实际是1230*10得出的12300 而不是我所理解的1230*16

[课程]FART 脱壳王!加量不加价!FART作者讲授!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
那个1230是16进制的,所以1230*16=12300
2010-6-1 21:52
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
lu 在上,小弟是这样的理解的:
  刚开始学汇编在这也犹豫了一下,为啥乘以十六呢,后来明白了,原来他是基址左移四位并地位保留为零如基址为2000H 偏移地址为1234H 则物理地址为  20000H+1234H=21234H
所以左移四位,想想不就是2的四次方吗即16,而我们知道左移是乘以16,lu 不知是这样吗?
2010-6-1 22:23
0
雪    币: 54
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我用16进制计算器算了几遍,结果都是 1230*16=19020

2010-6-1 23:04
0
雪    币: 65
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
   
如果你用16进制算的话只要乘以10
如果你用10进制计算的话要乘以16
不要问这是为什么,以后你会知道的。
呵呵,初二啊,有前途呵呵
2010-6-1 23:38
0
雪    币: 54
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
呵呵,算了下还真是这样,就是不知道什么原理
2010-6-2 03:36
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
呵呵,初二的学生学这个真的有点深。
2010-6-2 12:45
0
雪    币: 333
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不知道你的这个教程是哪的,建议看看IBM-PC汇编语言程序设计(清华大学出版),我手头的是第二版的,27页有讲解的。
这里简单摘录一些内容:
为了解决16位字长的机器里提供20位地址的问题,采用存储器地址分段。
CPU访问存储器时必须先确定所要访问的存储单元的物理地址,而20位的物理地址由16位段地址和16位偏移地址组成,段地址是指每一段的起始地址(又称段基地址),由于它必须是小段的首地址,所以其低4位一定是0(个人理解低四位的4个0是说在2进制里,而在16进制里就是一个0,即楼主所说的12300的最后一个0),如书上举例:
00000H
00010H

41230H
41240H
结论就是段地址左移4位再加上偏移地址形成物理地址:也就是楼主的公式段地址*16+偏移地址=物理地址
2010-6-2 13:32
0
雪    币: 333
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
对于计算过程,首先明确1230其实是16进制,而公式里*16的是10进制,如果按公式计算
10进制 1230H=4656D  4656D*16=74496D=12300H
16进制 1230H*16D=1230H*10H=12300H
上面的H表示16进制,D表示10进制,经转换后计算,最终结果均转位16进制。
2010-6-2 13:41
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习了       楼主
2010-6-2 23:12
0
雪    币: 54
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我终于明白了

9楼把我提醒了

1230*16(其实这个16是10进制的数,换算成16进制后就是10)

哎 教程上应该把16写成16D,害的我为这想了半天
2010-6-3 02:01
0
雪    币: 14
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
楼主很有前途,才初二
2010-6-3 19:08
0
游客
登录 | 注册 方可回帖
返回
//