段的第一个存储单元是10000H,那么段基址为何是1000H

OICQshenshi 2012-02-02 01:02:44
1,我的过程是将段的第一个存储单元10000H转换成二进制为10000000000000000,取前16位为1000000000000000,转换成十六进制为8000H,那么教程上说的段基址为1000H是如何得到的,求教分析过程
2、1000:000A是逻辑地址还是物理地址,教程说得不清楚,求解
...全文
544 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
OICQshenshi 2012-02-02
  • 打赏
  • 举报
回复
谢谢,明白了,换算错误
zara 2012-02-02
  • 打赏
  • 举报
回复
转换为二进制时,1 应该是 0001,因为一个十六进制数值对应 4 个二进制位。数位数的操作,尤其是不能省了前导的 0 数据位。
masmaster 2012-02-02
  • 打赏
  • 举报
回复
十六位CPU的物理地址是通过段基地址左移4位形成20位物理地址(左移4位相当于乘16)。即,物理地址=逻辑地址X16(10H)+偏移地址。所以,假如基地址是1000H,偏移地址是0,则物理地址=1000HX10H+0=100000H
OICQshenshi 2012-02-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 masmaster 的回复:]

1,没看懂说啥意思
2,是逻辑地址,物理地址=基址X16+偏移地址
[/Quote]
简单说,段的第一个存储单元是10000H,段基址为1000H是如何得到的
masmaster 2012-02-02
  • 打赏
  • 举报
回复
1,没看懂说啥意思
2,是逻辑地址,物理地址=基址X16+偏移地址

21,458

社区成员

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

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