网站大量收购闲置独家精品文档,联系QQ:2885784924
  1. 1、本文档共79页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 8086微处理器及其系统 8086 CPU是Intel系列的16位微处理器,它有16位数据总线和20位地址总线。 可寻址的地址空间是:220=1MB 2.1 8086微处理器简介 2.1.1 8086的编程结构 从程序员的角度看,8086CPU分为两部分: 执行部件(EU) 总线接口部件(BIU) 1. 执行部件(EU) 功能:执行指令 组成:● 内部寄存器组; ● 算术逻辑运算单元ALU及标志寄存器; ● 内部控制逻辑电路。 (1)内部寄存器组 8个16位 内部寄存器 (2)算术逻辑单元(ALU)及标志寄存器(FR) ① 算术逻辑运算单元ALU 可完成16位或8位的算术逻辑运算。 ALU运算后的结果特征(有无进位,溢出等)置入标志寄存器中保存。 ● PF(Parity Flag) 奇偶标志 -----反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。 PF=1,表示本次运算结果的低八位中有偶数个“1” PF=0,表示本次运算结果的低八位中有奇数个“1” ● AF(Auxiliary Carry Flag) 辅助进位标志 -----加减运算时,若D3向D4产生了进位或借位则AF=1。否则AF=0。在BCD码运算时,该标识用于十进制调整。 ● ZF(Zero Flag) 零标志 -----反映计算结果是否为0。若结果为零则ZF=1,否则ZF=0。 控制标志 ● DF(Direction Flag) 方向标志 ----- 用于串处理指令中控制串处理的方向。 在串操作指令中,若DF=0,表示串操作指令执行后地址指针自动增量;DF=1,表示地址指针自动减量。DF可通过STD指令置位,也可通过CLD指令复位。 ● IF(Interrupt Flag) 中断允许标志位 ----- 用于控制CPU是否允许响应可屏蔽中断请求。 IF=1,表示允许CPU响应可屏蔽中断请求。 IF=0,表示禁止CPU响应可屏蔽中断请求。 IF可通过STI指令置位(置1),也可通过CLI指令复位(清零)。 ● TF(Trap Flag) 单步标志位 ----- 用于单步操作。 TF=1,控制CPU进入单步工作方式。在这种工作方式下,CPU每执行完一条指令就会自动产生一次内部中断,这在程序调试过程中很有用。 例1:若AL = 3BH,AH = 7DH,指出AL和AH中的内容相加后,CF,AF,PF,SF,OF和ZF的状态。 (3)内部控制逻辑电路 主要功能:从指令队列缓冲器中取出指令,对 指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。 在8086存储空间中,把16字节的存储空间称作一内存节(paragraph)。要求各个逻辑段从节的整数边界开始,即段首地址低4位应该是“0”,把段首地址的高16位存放在段寄存器DS或CS或SS或ES中。 段可分为代码段,数据段,附加段,堆栈段。用于存放段基址有 4个16位段寄存器,代码段寄存器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。 代码段:存放程序代码。 数据段:用于存放当前使用的数据。需要第二个数据段时可以使用附加段。 堆栈段:是内存中的一块存储区,用来存放专用数据。如调用子程序时的入口参数,返回地址等,这些数据都按照“后进先出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP的值在执行堆栈操作指令时根据规则自动地进行修改。 采用段地址的好处: ① 解决了16位寄存器访问大于64KB内存空间的问题; ② 可以实现程序重定位,即一个不到64KB大小的程序可通过改变段寄存器的内容(一般由操作系统完成)放在1MB空间的任意段位置,从而为运行多道程序提供方便。 (2)地址加法器 功能:用于产生20位的物理地址。即进行一次地址加法,将段寄存器的内容左移4位与偏移地址相加 ,得到20位的物理地址,从而可寻址 1MB的存储空间。 例: 逻辑地址2345H:1100H对应的物理地址是24550H。 23450H+1100H =2455

文档评论(0)

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

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

1亿VIP精品文档

相关文档