第章微處理器及其结构3.pptVIP

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章微處理器及其结构3

2.4 80x86~Pentium系列微处理器的 程序设计模型 程序设计模型:微处理器内部可见寄存器结构。 它是程序设计中唯一可见的CPU部件。 它是系统程序设计员的操作对象。 程序可见寄存器:在应用程序设计时可以直接访问的寄存器。 2.4 80x86~Pentium系列微处理器的 程序设计模型 2.4.1 8086内部寄存器结构 2.4.2 80386内部寄存器结构 2.4.1 8086内部寄存器结构 含14个16位寄存器,按功能可分为三类: 通用寄存器,8个 段寄存器,4个 控制寄存器,2个 8086寄存器概貌 2.2.1 8086/8088内部结构 一、通用寄存器 数据寄存器(AX,BX,CX,DX) 地址指针寄存器(SP,BP) 变址寄存器(SI,DI) 数据寄存器 用途:存放临时数据和存放运算操作数。 每个均为16位,但又可分为2个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL 例如:若(AX)=1234H, 则(AH)=12H, (AL)=34H 数据寄存器 AX:累加器 使用这个寄存器的指令比较短,有些指令规定必须使用它。 BX:基址寄存器 除了存放数据,它经常用来存放一片内存的首地址----基址。 CX:计数寄存器 除了存放数据,它经常用来存放重复操作的次数----计数器。 DX:数据寄存器 除了存放数据,它有时存放32位数据的高16位,有时存放端口地址。 地址指针寄存器 SP:堆栈指针寄存器 这是一个专用的寄存器,存放堆栈栈顶的偏移地址。 BP:基址指针寄存器 它经常用来存放堆栈中数据的偏移地址。 BX与BP在应用上的区别 作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,默认情况下: 用BX作为指针所访问的数据在数据段(DS段); 用BP作为指针所访问的数据在堆栈段(SS段)。 注:间接寻址时 仅BX、BP、SI、DI可用于存储器寻址; 仅DX可用于I/O寻址。 变址寄存器 SI:源变址寄存器 它经常用来存放源数据区的偏移地址,所谓变址寄存器,是指它存放的地址可以按照要求自动增加/减少。 DI:目标变址寄存器 它经常用来存放目的数据区的偏移地址,所谓变址寄存器,是指它存放的地址可以按照要求自动增加/减少。 二、段寄存器 用于存放逻辑段的段基地址(简称段地址)。 CS:代码段寄存器。代码段存放指令代码 DS:数据段寄存器 ES:附加段寄存器 SS:堆栈段寄存器:指示堆栈区域的位置 这两个段存放操作数 三、控制寄存器 IP:指令指针寄存器 其内容为下一条要执行的指令的偏移地址。 FLAGS:标志寄存器 存放指令执行结果的特征。 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF) 状态标志:反映微处理器的工作状态,如执行加法运算时是否产生进位,执行减法运算时是否产生借位,运算结果是否为零等; 控制标志:对微处理器的运行起特定的控制作用,如以单步方式运行还是以连续方式运行,在程序执行过程中是否允许响应外部中断请求等。 8086/8088标志寄存器的格式及各位的功能 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF 状态标志 六个状态标志的功能简述如下: (1) 进位标志CF(Carry Flag): 当执行算术运算指令时,其结果的最高位有进位或借位时将CF置1;否则将CF置0。 (2) 奇偶标志PF(Parity Flag): 该标志位反映操作结果低8位中“1”的个数情况,若为偶数个“1”,则将PF置“1”;若为奇数个“1”,则将PF置“0”。 它是早期Intel微处理器在数据通信环境中校验数据的一种手段。今天,奇偶校验通常由数据存储和通信设备完成,而不是由微处理器完成。所以,这个标志位在现代程序设计中很少使用。 (3) 辅助进位标志AF(Auxiliary carry Flag):辅助进位标志也称“半进位”标志。AF=1,表示本次运算的低4位中的最高位有进位(加法运算时)或有借位(减法运算时)。 AF一般用于BCD运算中是否进行十进制调整的依据。十进制调整指令DAA和DAS测试这个标志位。 (4) 零标志ZF(Zero Flag):反映运算结果是否为零。若结果为零,则ZF=1;若结果不为零,则ZF=0。 六个状态标志的功能简述如下: (5) 符号标志SF(Sign Flag):反映带符号数(以二进制补码表示)

文档评论(0)

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

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

1亿VIP精品文档

相关文档