汇编语言设计2课稿.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 8086CPU汇编程序 设计环境 2.1 8086CPU编程结构 2.2 8086存储器结微机构 2.3 8086的I/O接口 2.1 8086CPU编程结构 8086/8088微处理器是Intel公司推出的第三代CPU芯片,它们的内部结构基本相同,内部数据总线都是16位,都采用16位结构进行操作及存储器寻址,但外部性能有所差异,8086是16为微型处理器,CPU与外部进行数据交换数据总线采用16位,而8088是准16为微型处理器,CPU与外部进行数据交换数据总线采用16位,最大寻找空间为1M。两者具有类似的体系结构,指令系统、指令编码格式、寻址方式完全相同,两种处理器都封装在相同的40脚双列直插组件(DIP)中。 8086/8088CPU编程结构是指从程序员和使用者的角度看到的结构,亦可称为功能结构,其内部结构如图所示。 按功能可分为两部分:执行单元EU(Execution Unit)和总线接口单元BIU(Bus Interface Unit)。 2.1.1执行单元EU 执行单元包括算术逻辑单元(ALU),状态标志寄存器(FLAGS),一组通用寄存器组和相应的控制电路,所有寄存器都是16位的,执行单元不直接与外设交换信息,它通过总线接口单元接收指令和数据,可以进行8位和16位算术运算、逻辑运算和移位操作等。 2.1.2总线接口单元BIU 总线接口单元BIU的功能是负责CPU与存储器、I/O的信息传送。具体功能是根据段寄存器CS和指令指针IP形成的20位物理地址从存储器中取出指令,并暂存在指令队列中,等待执行单元EU取走并执行。 总线接口单元由一个指令队列,一组段寄存器(DS、CS、ES、SS),一个指令指针寄存器(IP),地址加法器组成。地址加法器根据EU的请求,形成20位的实际物理地址,完成CPU与存储器或I/O接口的数据交换。8086CPU的指令队列为6个字节(8088为4字节),在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。 BIU与EU的动作协调原则: 总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务: (1)每当8086的指令队列中有两个空字节,或8088的指令队列中有一个空字节时,BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。 (2)每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者I/O端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者I/O端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。 (3)当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。 (4)在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。 总线接口单元由一个指令队列,一组段寄存器(DS、CS、ES、SS),一个指令指针寄存器(IP),地址加法器组成。地址加法器根据EU的请求,形成20位的实际物理地址,完成CPU与存储器或I/O接口的数据交换。8086CPU的指令队列为6个字节(8088为4字节),在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。 2.1.3 8086/8088内部寄存器 8086/8088内部的寄存器可以分为通用寄存器和专用寄存器两大类,专用寄存器包括IP、SP和FLAGS三个16位寄存器。 1.通用寄存器 数据寄存器、指针寄存器和变址寄存器统称为通用寄存器。数据寄存器主要用于保存操作数运算结果等信息,有四个16位的数据寄存器AX,BX,CX,DX可分解成八个独立的8位寄存器,这八个8位的寄存器有各自的名称,分别称为AH,AL,BH,BL,CH,CL,DH,DL,并且均可以独立存取。名称中的字母H表示高,L表示低。如AL表示低8位,AH表示高8位,AH寄存器和AL寄存器的合并就是AX寄存器,其他寄存器类推。即低位字节的寄存器分别称作AL、BL、CL和DL,高位字节的寄存器分别称作AH、BH、CH和DH。 AX和AL寄存器又称为累加寄存器(Accumulator)。一般通过累加器进行的操作所用的时间可能最少,此外累加器还有许多专门的用途,所以累加器使用的最普遍。 BX寄存器成为基(Base)地址寄存器。他是四个寄存器中唯一可作为存储器基址指针使用的寄存器。 CX寄存器

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档