第2章2寄存器结构、存储器管理00154.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储器地址分段: 8086有20条地址总线,直接寻址能力为220=1M字节。 用16进制数表示1M字节的地址范围应为00000H~FFFFFH。 (1)、 8086内部20位物理地址形成 (2)、逻辑地址与物理地址 (1)、8086内部20位物理地址形成 ? 存储器地址分段 8086地址总线是20位的,CPU中的寄存器是16位的, 20位地址无法用16位寄存器表示,必须分段。 程序员在编制程序时把存储器划分成段。 段内地址16位,每个段的大小最大可达64KB; 实际可以根据需要来确定段大小,可以是1,100,1000, 在64K范围内的任意字节数。 ? 小段的概念 从0地址开始每16字节为一小段, 对于16位地址总线,段内存储器小段地址如下: 如: 0000H,0001H,0002H,……,000EH,000FH一个小段 0010H,0011H,0012H,……,001EH,001FH 0020H,0021H,0022H,……,002EH,002FH … … FFF0H, FFF1H, FFF2H, ……, FFFEH, FFFFH 其中:第一列就是每个小段的首地址。 每个小段首地址特征: 在16进制表示的地址中,最低位为0H (即20位地址的低4位为0000B)。 在1M字节的地址空间,共有64K个小段其首地址为: 0000 0H 0001 0H … 4123 0H 4124 0H … FFFE 0H FFFF 0H ? 20位物理地址形成 物理地址: 在1M字节存储器里,每个存储单元都有一个唯一的20位地址作为该存储单元的物理地址。 CPU访问存储器时,必须先确定所要访问的存储单元的物理地址才能取出(或存入)该单元中的内容。 20位物理地址形成:由16位段地址和16位偏移地址组成。 段地址:只取段起始地址高16位值。 偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。 物理地址计算方法: 即把段地址左移4位再加上偏移地址值形成物理地址,写成: 物理地址= 16d?段地址+偏移地址。 * 每个存储单元只有唯一的物理地址。 但可由不同的段地址和不同的偏移地址组成。 (2)、逻辑地址与物理地址 ? 逻辑地址与物理地址概念 逻辑地址与物理地址概念如下页图所示。 逻辑地址:由段基址和段内偏移地址组成的地址, 段基址和段内偏移地址都是16位的无符号二进制数, 在程序设计时使用。 物理地址:存储器的绝对地址(20位的实际地址), 范围从00000H~FFFFFH , 是由CPU访问存储器时由地址总线发出的地址。 存储器管理:将程序中逻辑地址转移为物理地址的机构。 物理地址的形成 ...... 20000H 25F60H 25F61H 25F62H 25F63H 2000H 段基址 段内偏移地址 5F62H 逻辑地址与物理地址 段基址 0 0 0 0 3 2 1 0 15 0 偏移地址 基址加法器 物理地址 0 15 0 19 逻辑地址: 2000:5F62H ?逻辑地址来源 (ES) ?16d+(DI) DI 无 ES 目标字符串 (DS) ?16d+(SI) SI CS,ES,SS DS 源字符串 (DS )?16d+EA 有效地址EA CS,ES,SS DS 存取变量 (SS) ?16d+EA 有效地址EA CS,DS,ES SS BP间址 (SS) ?16d+(SP) SP 无 SS 堆栈操作 (CS)?16d+(IP) IP 无 CS 取指令 物理地址计算 偏移 地址 可替换 段地址 正常使用(隐含)段基址 操作类型 取指令: 自动选择代码段寄存器CS, 再加上由IP决定的16位偏移量, 计算得到要取的指令20位物理地址。 堆栈栈顶操作: 自动选择堆栈段寄存器SS, 再加上由SP决定的16位偏移量, 计算得到堆栈栈顶操作需要的20位物理地址。 涉及到操作数: 自动选择数据段寄存器DS或附加段寄存器ES, 再加上16位偏移量,计算得到操作数的20位物理地址。 其中: 16位偏移量: 包含在:指令中的直接地址 某个16位地址寄存器的值

文档评论(0)

xuchangbin + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档