chapter2——8086系统结构.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter2——8086系统结构

第二章 8086体系结构 2.1 8086CPU结构 2.2 8086系统的结构和配置 2.3 8086CPU内部时序 2.1 8086CPU结构 8086CPU的内部结构 8086CPU的寄存器结构 8086CPU的引脚及功能 一、8086CPU的内部结构 EU和BIU的操作原则 通用寄存器 段寄存器 标志寄存器FR (flag registor) 指令指针寄存器IP (instruciton pointer) 1、 通用寄存器 指令执行部件(EU)设有8个16位通用寄存器 AX BX CX DX SP BP SI DI 通用寄存器 AX(Accumulator Register) 累加器一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。 BX(Base Register) 基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能。 CX(Counter) 将它称作计数寄存器,是因为它既可作数据寄存器,又可在串指令和移位指令中作计数用。 举例:P57 MOVSW/MOVSB DX(Data Register) DX除可作通用数据寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。 举例:P50 MUL AX DX在其中的作用。 SI(Source Index) 源变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据。 DI(Destination Index) 目标变址寄存器多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在DS寄存器中,也可放数据。 举例:P57 MOVSW/MOVSB中 SI、DI的作用 BP(Base Pointer) 基址指针用于存放内存的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。 SP(Stack Pointer ) 堆栈指针用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在SS寄存器中。 寄存器的特殊用途和隐含性质 在指令中没有明显的标出,而这些寄存器参加操作,称之为“隐含寻址”。 具体的:在某类指令中,某些通用寄存器有指定的特殊用法,编程时需遵循这些规定,将某些特殊数据放在特定的寄存器中,这样才能正确的执行这些指令。采用“隐含”的方式,能有效地缩短指令代码的长度。 2、段寄存器 8086有1MB的存储空间,但放在指令指针寄存器器和变址寄存器中的地址都是16位,只能在64KB段的偏移量中寻址。所以,1MB的存储空间被分成许多逻辑段,每段最长为64KB。 同时,划分的各逻辑段首地址的高16位存放在该段寄存器中,这个高16位地址称为段基址,存放在段寄存器中,而段内的相对地址(偏移地址),存放在通用寄存器中,这样,就可以寻址任何一个存储单元了。 由于系统中只有四个段寄存器,任何时候CPU只能识别当前可寻址的4个逻辑段。 代码段用来存放可执行的指令, 数据段和扩展段用来存放参加运算的操作数和运算结果, 堆栈段为存储器中堆栈区。 当有多个代码段、数据段、扩展段和堆栈段,可以修改这四个段寄存器的内容,以扩大程序的规模,这样就可以访问1MB的存储器。 总线接口部件BIU设有4个16位段寄存器 CS(Code Segment),代码段寄存器中存放程序代码段起始地址的高16位。 DS(Data Segment),数据段寄存器中存放数据段起始地址的高16位。 SS(Stack Segment),堆栈段寄存器中存放堆栈段起始地址的高16位。 ES(Extended Segment),扩展段寄存器中存放扩展数据段起始地址的高16位。 【举例】说明通用寄存器和段寄存器的工作。 P39 5 基址/变址寻址 MOV CX ,36H[BX] 此时, EA为36H+(BX),物理地址为DS*10H+ 36H+(BX) 3、标志寄存器FR 标志寄存器FR FR中的状态标志 SF(Sign Flag):符号标志 SF=1,表示本次运算结果的最高位(第7位或第15位)为“l”,否则SF=0。 OF(Overflow F1ag):溢出标志 OF=1,表示本次算术运算结果产生溢出。 所谓溢出,就是字节运算的结果超出了-128—+127,或者字运算超出了范围-32768—+32767.计算机在进行算术运算时,判断是否溢出的一个简单方法是:运算结果是否合理。 计算机在运算时会影响OF标志。 【例2-1】、【例2-

文档评论(0)

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

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

1亿VIP精品文档

相关文档