段地址乘以16加上偏移地址怎么不对?

mnb1237273 2011-11-17 04:06:37
晕 不能上传图片,我只能把书上的打上来大家帮我看看了。教材上说的 断地址乘以16加上偏移地址就是物理地址,可是这里不管我怎么算结果都不和教材上的一样喃?
物理地址 段地址 偏移地址
21F60H 2000H 1F60H
2100H 0F60H
21F0H 0060H
21F6H 0000H
1F00H 2F60H
我把第一个段地址 2000H 乘以16再加上第一个偏移地址 结果不是物理地址21F60H,第二个段地址乘以16加上第二个偏移地址结果也不为物理地址,我哪里没有算对么?
...全文
415 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gsy999 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 mnb1237273 的回复:]
晕 不能上传图片,我只能把书上的打上来大家帮我看看了。教材上说的 断地址乘以16加上偏移地址就是物理地址,可是这里不管我怎么算结果都不和教材上的一样喃?
物理地址 段地址 偏移地址
21F60H 2000H 1F60H
2100H 0F60H
21F0H 0060H
21F6H 0000H
1F00H 2F60H
我把第一个段地址 2000H 乘以16再加……
[/Quote]
一眼就看出来的东西还乘以什么?21F60H 2000H 1F60H
2000h乘以16就相当于左移四位,即:20000h,再加上1F60h,你看看是多少?
记住:
*2 <==> 左移一位
*4 <==> 左移二位
*8 <==> 左移三位
*16 <==> 左移四位
...

zara 2011-11-17
  • 打赏
  • 举报
回复
没弄对进制吧。那个 16 是十进制值;2000h、21F60h 之类的是十六进制值。
masmaster 2011-11-17
  • 打赏
  • 举报
回复
笨方法:
先把2000H(十六进制的)转换成十进制,然后乘以16,再将结果转换成16进制。

PS:16的十六进制是10H,也即2000H*10H=20000H,20000H+1F60H=21F60H

21,496

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧