第2章 8086微处理器结构汇.ppt

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

对于一个字,高8位字节放在高位地址,低8位字 节放在低位地址 通常一个字节总位于偶地址,符合这种规则的字 数据称为“规则字” 规定将这个低位字节的地址作为这个字的地址 (2)分段结构和物理地址的形成 取指令时CPU会自动选择CS作为基地址;堆栈操作 选择SS;存取操作数时选择DS或ES段 一个程序段可以使用一个逻辑段或多个逻辑段 物理地址形成:段基址(段起始地址高16位)和 偏移地址组成 (3)8086I/O端口 微机为每个端口分配一个地址,称为端口地址。 一个端口通常为接口电路内部的一个寄存器或一组 寄存器。 8086和外部设备之间由I/O接口电路来联系,每个I/O接口都有一个端口或几个端口。 * 第2章 8086微处理器结构 8086微处理器的功能结构 8086CPU的内部结构 8086CPU的内部寄存器 8086CPU的存储器和I/O端口 CPU的内部结构 3、控制器 8086 CPU的内部结构 8086 CPU的内部结构 8086总线 8086 CPU内部结构示意图 (总线接口电路) (执行单元) 总线接口单元BIU的组成 16位指令指针寄存器IP-指向下一条要执行的指令 20位地址加法器一计算物理地址 将有关段寄存器内容(段的起始地址)左移4位后, 与16位偏移地址相加,形成20位的物理地址,以对 存储单元寻址。 IP用来存放下一条要执行指令在代码段中的偏移地址 只有与CS结合才能形成指向指令存放单元的物理地址 4个段寄存器CS,DS,SS,ES 6个字节指令队列 总线控制电路: 处理器与外界联系的转接电路 包括20位地址总线,16位双向数据总线和控制总线 按照先进先出的原则,顺序将指令取到EU中 (任务) p31 执行部件EU EU功能:负责指令的执行 EU组成: 是一个16位的运算器,用于8位、16位二进制算术和逻辑运算,也可以计算寻址存储器所需的16位偏移量 (1)算术逻辑运算单元ALU 是一个16位的寄存器,用来反映CPU运算状态特征和存放某些控制标志 (2)标志寄存器FLAGS。 执行部件EU 协助ALU完成运算,暂存参加运算的数据 (3)运算暂存器 (4)通用寄存器组 包括4个16位数据寄存器AX,BX,CX,DX和4个16位指针 与变址寄存器SP,BP,SI,DI (5)EU控制电路 既可以做16位数据寄存器使用,也可以作为 2个8位数据寄存器使用;即可存储数据也可放地址 (1)4个通用寄存器AX,BX,CX,DX 如:AH(高8位),AL (低8位);BH,BL--- AX也称累加器,CPU的许多指令都是通过累加器来 执行的,一般在运算指令执行前,累加器中存放一个 操作数,指令执行后由累加器保存结果 8086CPU的内部寄存器 AX作为16位累加器时进行字操作;作为8位累加器时进行字节操作 (2)4个段寄存器CS,DS,SS,ES 代码段寄存器CS;数据段寄存器DS; 附加段寄存器ES;堆栈段寄存器SS 每个逻辑段的长度小于等于64KB,4个16位段寄存器分别存放各个段的起始地址(段基址)寻址时还必须给出一个相对于分段寄存器值所指定的起始地址的偏移量(有效地址),根据段基址和偏移地址计算具体地址。 MOV A,08H ADD A,14H HLT; 暂停指令 机器指令代码 机器指令代码机器指令代码(3)地址指针和变址寄存器 参与地址运算的主要是地址指针和变址寄存器组中的4个寄存器SP,BP,SI,DI。一般用来存放偏移量(相对于段起始地址的距离)。 SP:堆栈指针寄存器(Stack Pointer) BP:基址指针寄存器(Stack Pointer) SI:源变址寄存器(Source Index) DI:目的变址寄存器(Destination Index) SP用于指出堆栈中当前栈顶的地址。入栈(PUSH)和 出栈(POP)指令由SP给出栈顶的偏移地址。基址BP指出 要处理的数据在堆栈中的基地址。 变址寄存器SI,DI用来存放当前数据段中某个单元的 偏移量 (4)指令指针IP IP用于存放CPU要执行指令的下一条指令的偏移地址。 标志寄存器FLAGS是16位寄存器,8086共使用了 9个有效位,7位未用到。 每一位都是一个标志 (5)标志寄存器FLAGS 标志寄存器格式 状态标志位:表示前面的操作执行后,ALU处于何种状态, 可能会影响后面的操作。CF,PF,AF, ZF, SF,OF 控制标志位:人为设置的,可以用专门的设置或删除指令, 对某种功能起控制作用。DF

文档评论(0)

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

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

1亿VIP精品文档

相关文档