汇编语言第2章80888086系统硬件结构课件.ppt

汇编语言第2章80888086系统硬件结构课件.ppt

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

第2章 8088/8086系统硬件结构 2.1 8088CPU的功能结构 2.2 8088与8086微处理器的差别 2.1 8088CPU的功能结构 2.1.1 8088CPU的内部寄存器 8088CPU内部共有14个16位的寄存器 4个16位的数据寄存器AX、BX、CX、DX 2个16位的指针寄存器SP、BP 2个16位的变址寄存器SI、DI 2个16位的控制寄存器IP、F 4个16位的段寄存器CS、DS、ES、SS,如图2.1所示。 1.通用寄存器组 通用寄存器组:(1)4个数据寄存器AX、BX、CX、DX;(2)2个指针寄存器SP、BP(3)2个变址寄存器SI、DI。 4个数据寄存器用来存放16位数据,也可以将每个数据寄存器分为2个8位的寄存器,用于存放8位数据。 AX可分为AH及AL;BX可分为BH及BL;CX分为CH及CL;DX分为DH及DL,它们可作为8位寄存器单独使用。 SP:堆栈指针寄存器,指向堆栈顶部,不能指向栈顶以外的元素 BP:基数指针寄存器,通常用来存放基地址,指向堆栈中的任意位置 SI是源变址寄存器,DI是目的变址寄存器,均用于指令的变址寻址。SI通常指向源操作数,而DI通常指向目的操作数。 4个数据寄存器可以任意参加算术运算和逻辑运算 BP,SP,SI,DI也可以任意参加算术运算和逻辑运算 为了充分地利用这些通用寄存器,在某些指令中又对其中的寄存器作了特殊的约定,使这些寄存器在通用的基础上附加了一点特殊性。 如: AX作为累加器; BX被称为基址寄存器; CX为计数寄存器 2.专用寄存器组 专业寄存器组:(1)指令指针寄存器IP;(2)状态标志寄存器F;(3)有4个用于实现1MB存储器寻址的段寄存器CS、DS、SS、ES 4个段基地址CS、DS、ES、SS仅仅指出了段从哪个地址开始,但还不能决定正在使用的具体的存储单元的地址,因此我们把正在使用的存储单元的地址与所在段的基地址的偏移量称为段内偏移量或者称为有效地址EA,真正的物理地址是由段寄存器值左移4位与段内偏移量相加后的结果,如图2.2所示。 例如取指令时,CS值为2000H,而IP值为3500H,则被取指令的物理地址为: 20000H ——CS左移4位 +) 3500H ——段偏移 23500H ——物理地址 又如SS值为7900H,已知栈顶元素的物理地址为7B450H,则堆栈指针SP的值为: 7B450H -) 79000H 2450H 即SP值为2450H. 1MB是16个64KB存储器的总和,但这并不意味着1MB只能包括16个逻辑段。因为这些段既可以首尾相连,可以相互间隔开。也可以相互重叠或者部分重叠,只要不影响程序的正常执行(例如不会取错指令或数据等)即行,所以,逻辑段个数可能多于16个也可能少于16个。 此外,段寄存器如何与偏移量形成相应的物理地址,这在8088中有个基本约定。正常情况下一般按这个基本约定形成所需的物理地址,但也允许有特例情况,被称为段超越,即不用约定的段基址,而是用可修改的段基址与某偏移量来形成所需的物理地址,见表2.1。 ? 专用寄存器组中的指令寄存器IP只能与CS寄存器相互结合,才能形成指令的真正的物理地址。标志寄存器F则用来反映系统的状态及指令执行的结果,8088的F使用了9个标志位,各位有不同的意义,如图2.3所示。 ? (1)进位标志CF 当指令执行的结果在最高位出现进位或借位时,CF=1;否则CF=0。8088中,字节操作的最高位为D7;字操作的最高位为D15。在执行加、减、比较、移位等指令时,将根据结果改变CF标志位的状态。 (2)奇偶标志PF 当指令执行的结果中1的个数为偶数时,PF=1;否则PF=0。在执行逻辑运算的指令时,将根据结果改变PF标志位的状态。 (3)辅助进位标志AF 当指令执行的结果,若低半字节(低4位)向高半字节进位或借位时,AF=1;否则AF=0。该标志常用于十进制数运算结果的调整,以得到十进制的结果。

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档