微机原理2试卷.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文档。上传文档
查看更多
利用指令我们可以任意设定段寄存器的内容,段基址一旦确定,对应64KB的存储区段则完全确定下来,程序可以从四个段寄存器给出的逻辑段中存取指令代码和数据。 1MB的存储器除已经被定义的四个段外,还剩下一些空白(未用)区域,如果要用到这些区域,则必须首先改变相应段寄存器的内容,重新设置四个段寄存器,一旦加以定义,就可以通过段寄存器来访问不同的段。 若已知当前有效的代码段、数据段、附加段和堆栈段的段地址寄存器的值分别为1000H,3501H, 7F3BH, EAB0H,那么它们在存储器中的分布情况如右图 物理地址和逻辑地址 存储器采用分段结构以后,对存储器的访问可以使用两种地址,即逻辑地址和物理地址。 8088CPU存储系统中,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H ~FFFFFH。 逻辑地址由段基址(存放在段寄存器中)和偏移地址(由寻址方式提供)两部分构成,它们都是无符号的16位二进制数。逻辑地址是用户进行程序设计时采用的地址。 段基地址 : 段内偏移地址 分隔符 物理地址 14700H 逻辑地址 1460H:100H 段基址说明逻辑段在主存中的起始位置 8086规定段首址必须是模16地址:xxxx0H 省略低4位0000B,可用16位段寄存器的值表达段基址。 偏移地址说明主存单元距离段起始位置的偏移量每段不超过64KB,偏移地址也可用16位数据表示。 1MB内存空间中每个存储单元的物理地址是惟一的,由20位二进制数构成。物理地址是CPU访问内存时使用的地址。当用户通过编制程序将16位逻辑地址送入CPU的总线接口部件BIU时,地址加法器通过地址运算变换为20位的物理地址。 产生20位物理地址的公式为:将逻辑地址中的段基址左移4位,加上偏移地址就得到20位物理地址。 物理地址=段基址×16+偏移地址 物理地址的形成 ...... 20000H 25F60H 25F61H 25F62H 25F63H 2000H 段基址 逻 辑 地 址 段内偏移地址 5F62H 逻辑地址与物理地址 段基址 0 0 0 0 3 2 1 0 15 0 偏移地址 基址加法器 物理地址 0 15 0 19 注意:一个物理地址可以对应多个逻辑地址. 逻辑地址 1460:100、1380:F00 物理地址 14700H 14700H 14600H + 100H 14700H 13800H + F00H 14700H 段地址左移4位 加上偏移地址 得到物理地址 段寄存器的使用规定 访问存储器的方式 默认 可超越 偏移地址 取指令 CS 无 IP 堆栈操作 SS 无 SP 一般数据访问 DS CS ES SS 有效地址EA BP基址的寻址方式 SS CS ES DS 有效地址EA 串操作的源操作数 DS CS ES SS SI 串操作的目的操作数 ES 无 DI 按信息特征分段存储与分段寻址 8086在存储器中存储的信息包括程序指令、数据及计算机运行的状态等。为了便于寻址和操作,这些信息在存储器中分段存储,因而将存储器划分为代码段、数据段和堆栈段和附加段,并通过段寄存器CS, DS, ES和SS进行寻址。 ① 对代码段的访问 专门用于存放程序指令代码的存储区域称为代码段。访问程序区时,段基址由代码段寄存器CS指定,IP的内容表示段内的偏移地址。当前所取指令的物理地址为: 物理地址=CS×16+IP    若要访问不同的程序区时,只需修改代码段寄存器CS的内容即可。 ② 对数据段的访问 用来存放数据信息的区域称为数据段。这些数据信息包括CPU要处理的原始数据、运算的中间结果和最后结果。访问数据区时,DS的内容用来表示数据段的段基址,而偏移地址由指令的寻址方式所求得的有效地址EA(effective address)来确定。其物理地址为:    物理地址=DS×16+EA ③ 对堆栈区的访问    堆栈是特殊的存储区域,用来存放由PUSH指令压入的需要进行保护的数据和状态信息。访问堆栈区时,用堆栈段寄存器SS指示堆栈段的段基址,SP的内容表示栈顶的偏移地址。BP的内容表示堆栈中目标单元的偏移地址。堆栈操作时存储单元的物理地址为:   物理地址=SS×16+SP(BP) ④对附加段的访问 在存储器中,字符串操作指的是对两个数据块进行传送或比较,这就需要指定传送的源数据区和目标数据区。通常用DS作为源数据区的段寄存器保存段基址,源变址寄存器SI的内

文档评论(0)

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

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

1亿VIP精品文档

相关文档