已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言程序设计,第三章微型计算机的结构,理论:4学时,汇编语言,第三章微型计算机的结构,3.1,微型处理机的结构,3.2,存储器,寻址方式,3.3,3.1.18086/8088微处理机的结构,3.1,微型处理机的结构,第三章微型计算机的结构,数据线:16位地址线:20位二者的区别:(1)8086内、外部均为16位,8088为准16位;(2)8086指令队列为6字节,8088为4字节。,3.1.18086/8088微处理机的结构,3.1,微型处理机的结构,第三章微型计算机的结构,1、执行部件EU算术逻辑部件寄存器组标志寄存器执行部件控制电路,2、总线接口部件BIU段寄存器组指令指针地址加法器指令队列缓冲器输入输出控制电路,3.1.18086/8088微处理机的结构,第三章微型计算机的结构,3.1微型处理机的结构,BIU,EU,EU和BIU的功能:1、执行部件EU完成指令的译码、运算及其他操作的执行;2、总线接口部件BIU负责CPU与存储器、I/O接口电路连接,形成片外的地址总线和数据总线,完成数据的传送;,第三章微型计算机的结构,3.1微型处理机的结构,执行部件EU由4部分组成:算术逻辑部件、寄存器组、标志寄存器、执行部件控制电路。算术逻辑运算部件(ALU):完成算术运算、逻辑运算。寄存器组:由8个16位寄存器组成。AX、BX、CX、DX、SI、DI、BP、SP其中AXDX可分为两个8位寄存器,分别命名为AL、AH、BL、BH、CL、CH、DL、DHSI、DI、BP、SP、不能分成8位寄存器使用,第三章微型计算机的结构,3.1微型处理机的结构,寄存器组一般情况下,这8个16位寄存器(AX、BX、CX、DX、SI、DI、BP、SP)可互换地使用,称其为通用寄存器;ALDH这8个8位寄存器也可互换地使用。如:ADDAX,BP与ADDBP,AX相同ANDBX,CX与SUBCX,BX相同每个寄存器又有特殊用法。,第三章微型计算机的结构,3.1微型处理机的结构,寄存器的特殊用法,第三章微型计算机的结构,3.1微型处理机的结构,寄存器的特殊用法(续),第三章微型计算机的结构,3.1微型处理机的结构,标志寄存器标志寄存器长度为16位,其中9个位有定义。,控制标志:3个标志位,用于控制CPU的运行方式。,状态标志:6个标志位,用于表示运算结果的状态。,第三章微型计算机的结构,3.1微型处理机的结构,CF:CarryFlag,进位标志,两数相加,最高位向前的进位或两数相减最高位向前的借位。注:CPU总是把参加运算的操作数当作无符号数置CF标志。AF:AuxiliaryCarryFlag,辅助进位标志,两数相加,第3位向前的进位;或两数相减第3位向前的借位。(该标志仅供CPU执行BCD码运算调整指令时用,编程人员不能直接测试)。,第三章微型计算机的结构,状态标志(6位),3.1微型处理机的结构,状态标志(续),PF:ParityFlag,奇偶标志,两数操作(算术或逻辑),结果的低8位中含有1的位数是偶还是奇。ZF:ZeroFlag,零标志,操作结果为0则ZF为1。SF:SignFlag,符号标志,操作结果的符号位(即最高位的状态)。OF:OverflowFlag,溢出标志,算术操作,结果超过目标所能容纳的范围。注:CPU总是把参加运算的操作数当作带符号数置OF标志。,第三章微型计算机的结构,3.1微型处理机的结构,控制标志(3位),DF:DirectionFlag,方向标志,用于控制数据串操作指令访问存储器时,存储单元地址变化的方向(SI、DI增量还是减量)。TF:TapeFlag,陷阱标志,用来控制单步中断。当TF=1时,8086CPU每执行一条指令后,产生内部单步中断,转去执行单步中断服务程序。IF:Interrupt,中断标志,用来控制CPU是否可以执行中断。当IF=1时,CPU可以中断现行程序执行,转去执行中断服务程序。,第三章微型计算机的结构,3.1微型处理机的结构,执行部件控制电路从指令队列中取得一条指令代码指令译码产生指令功能所要求的各种控制信号通过上述3种操作周而复始的进行,使得计算机能够完成程序所要完成的功能。,第三章微型计算机的结构,3.1微型处理机的结构,总线接口部件BIU总线接口部件由5部分组成:段寄存器组、指令指针、地址加法器、指令队列缓冲器、输入输出控制电路。段寄存器组:共有4个16位的段寄存器。段寄存器用于指令寻址内存单元时,指出段基地址(简称段地址)。,第三章微型计算机的结构,3.1微型处理机的结构,段寄存器组CS:CodeSegment,代码段寄存器,存放当前被执行程序的段地址。DS:DataSegment,数据段寄存器,当前运行程序使用操作数的段地址。SS:StackSegment,堆栈段寄存器,当前运行程序使用堆栈的段地址。ES:ExtraSegment,附加段寄存器,当前运行程序使用操作数的段地址。,第三章微型计算机的结构,3.1微型处理机的结构,指令指针寄存器IP(InstructionPointer)16寄存器,用于存放将要执行的指令地址的偏移量。它与CS联合形成将要执行指令的物理地址。地址加法器用于计算指令访问内存单元的物理地址。计算方法:将段寄存器的值送入加法器并左移4位,然后再与16位的偏移地址相加,形成20位的物理地址。如:CS00010010001101000000IP+00010010001101000001001101010111010020位物理地址,第三章微型计算机的结构,3.1微型处理机的结构,指令队列缓冲器是一个6个字节的先进先出缓冲器。当BIU与存储器或I/O设备不进行数据交换时,BIU就从存储器中取指令填充指令队列。输入输出控制电路把形成的20位物理地址经地址总线送到片外地址总线,然后经数据总线进行数据或指令代码的传输。请看8088微处理机工作过程演示。,第三章微型计算机的结构,3.1微型处理机的结构,8088的指令执行示例,课间休息,第三章微型计算机的结构,3.1,微型处理机的结构,3.2,存储器,寻址方式,3.3,3.2.18086/8088存储器存储器容量8086系统内存最大容量为1MB。物理地址范围:00000HFFFFFH物理地址与逻辑地址物理地址:每个存储单元都有一个唯一的编号,这个编号我们称之为这个单元的物理地址。逻辑地址:在编写程序时,使用16位的段地址和16位的偏移地址来表示数据或指令在内存的地址,这个地址成为逻辑地址。,第三章微型计算机的结构,3.2,存储器,存储器的分段结构,存储器容量是1MB,要寻址每一个存储单元必须用20位信息来表示单元地址。而8086CPU是一个16位结构,用户编程所用的地址指示器都是16位的,无法形成寻址所需的20位的地址空间,所以采用存储器分段结构。每段的最大容量为64KB。每段的起始地址必须能被16整除。这个地址的高16位通常称为段地址。段与段可以互相独立、相连、重叠或部分重叠。,第三章微型计算机的结构,3.2存储器,存储器的分段结构,00000H,FFFFFH,SS(16位),堆栈段:,0000B,DS(16位),数据段:,0000B,ES(16位),附加段:,0000B,CS(16位),代码段:,0000B,第三章微型计算机的结构,3.2存储器,存储器的分段结构,第三章微型计算机的结构,3.2存储器,物理地址与逻辑地址的转换物理地址对于每个存储单元来说是唯一的。而用逻辑地址来表示这个物理地址时,就可以有多种形式。如:物理地址0001001000110100010112345H用逻辑地址可表示为如下多种形式:0001001000110100:00000000000001011234:0005H0001001000110000:00000000010001011230:0045H0001000000000000:00100011010001011000:2345H.,第三章微型计算机的结构,3.2存储器,物理地址形成,设:CS=9482H,IP=2350H,则实际地址为:1001010010000010+001000110101000010010110101101110000,段基地址,偏移地址,段基地址,0000,20位物理地址,150,150,190,150,30,左移4位,左移4位,地址加法器,(逻辑地址到物理地址转换),第三章微型计算机的结构,3.2存储器,逻辑地址转换为物
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论