如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
本教案内容8086/8088CPU内部共有14个16位寄存器,用于提供运算,控制指令执行和对指令及操作数寻址。掌握每个寄存器的作用以及用法,是学好汇编语言程序设计的基础。一.通用寄存器(8个)存放数据2.地址指针和变址寄存器(4个)二.段寄存器8086/8088CPU有4个段寄存器。分别是:指令指针寄存器相当于一般微处理器中的程序计数器(PC:ProgramCounter)。它始终指向CPU下一条要取指令所在存贮器单元的偏移地址(段地址由CS提供)。用户不能更改IP的值,只有CPU执行转移指令,子程序调用指令和子程序返回指令以及中断处理时,IP才作相应的改变。标志寄存器相当于一般微处理器中的程序状态字寄存器(PSW)。16位,但有用的只有9位,其中:CF(CarryFlag)进位标志。如果加法时最高位(对字节操作是D7位,对字操作是D15位)产生进位或减法时最高位产生错位,则CF=1,否则CF=0。ZF(ZeroFlag)零标志位。如果运算结果各位都为零,则ZF=1,否则ZF=0。OF(OverflowFlag)溢出标志。在加或减运算中结果超出8位或者16位有符号数所能表示的数值范围(-128∽+127或-32768∽+32767)时,产生溢出,OF=1,否则OF=0。例1:若CPU执行5439H+476AH加法运算指令:例2:若CPU执行543AH-FE00H减法运算指令;控制标志IF(InterruptEnableFlag)TF(TrapFlag)陷井标志。没有专门的置1/清0指令。当TF=1时,CPU每执行完一条指令便自动产生一个内部中断(类型为1),转去执行一个中断服务程序,用户可以借助中断服务程序来检查每条指令执行的情况,称为单步工作方式,常用于程序的调试。一.存储器地址空间和数据存储格式存储器存储器内两个连续的字节,定义为一个字,低字节(低8位)存放在低地址中,高字节(高8位)存放在高地址中。各位的编号方法是最低位(LSB)为位0,一个字节中,最高位(MAS)编号为位7;一个字中最高位的编号为位15。1514131211109876543210字数据在存储器中存放的格式如图所示8086/8088允许字从任何地址开始。字的地址是偶地址时,称字的存储是对准的,若字的地址是奇地址时,则称字的存储是未对准的。8088CPU数据总线8位,无论是字,还是字节数据存取操作,也无论是偶地址的字,还是奇地址的字,每一个总线周期只能完成一个字节的数据存取操作。对字数据所组成的连续两个总线周期是由CPU自动完成的。从前面的介绍可知,为了使8088/8086CPU能寻址到外部存贮器1MB空间中任何一个单元,8088/8086巧妙地采用了地址分段方法(将1MB空间分成若干个逻辑段),从而将寻址范围扩大到了1MB。1MB的存贮空间中,每个存贮单元的实际地址编码称为该单元的物理地址(用PA表示)。一个段的起始地址的高16位自然数为该段的段地址.显然,在1MB的存贮空间中,可以有个段地址.每个相邻的两个段地址之间相隔16个存贮单元。在一个64KB的段内,每个偏移地址单元的段地址是相同的.所以段地址也称为段基址。存贮器段的划分与段的覆盖示意图段地址和段内偏移地址都是无符号的16位二进制数,常用4位十六进制数表示。这种方法表示的存贮器单元的地址称为逻辑地址。如下图所示。……其中段地址有段寄存器提供:②段内偏移地址由下列地址寄存器提供:已知某存储单元的逻辑地址,怎样求该单元的物理地址PA:物理地址=段地址10H+段内偏移地址∑例1:某单元的逻辑地址为4B09H:5678H,则该存储单元的物理地址为:例2:图中物理地址为00020H单元,其逻辑地址可以有:[0002H:0000H]在访问存储器时,段地址总是由段寄存器提供的。8086/8088微处理器中有4个段寄存器(CS、DS、SS、ES),所以CPU可以通过这4个段寄存器来访问4个不同的段。用程序对段寄存器的内容进行修改,可实现访问所有的段。一般地,把段地址装入段寄存器的那些段(不超过4个)称为当前段。三.信息的分段存储与段寄存器的关系其中,代码信息8086/8088CPU各种类型访问存储器时,其地址成分的来源见下表所示。一个段最大空间为64KB,实际使用时,不一定能用到64KB。理论上分段时,相邻段之间大部分空间是相互重叠的,但实际上不会重叠。汇编程序对用户源程序汇编时,会将用户程序中不同信息段独立存放。如图所示。……一.我们已经说明,I/O设备包括与外界通信和存储大容量信息用的各种外部设备。由于这些外部设备的复杂性和多样性,特别是速度比CPU低得多,因此I/O设备不能直接和总线相连接。I/O接口是保证信息和数据在CPU和I/O设备之间正常传送的电