8086微处理器微处理器的基本结构8086课件.ppt

上传人(卖家):晟晟文业 文档编号:4568810 上传时间:2022-12-20 格式:PPT 页数:108 大小:1.43MB
下载 相关 举报
8086微处理器微处理器的基本结构8086课件.ppt_第1页
第1页 / 共108页
8086微处理器微处理器的基本结构8086课件.ppt_第2页
第2页 / 共108页
8086微处理器微处理器的基本结构8086课件.ppt_第3页
第3页 / 共108页
8086微处理器微处理器的基本结构8086课件.ppt_第4页
第4页 / 共108页
8086微处理器微处理器的基本结构8086课件.ppt_第5页
第5页 / 共108页
点击查看更多>>
资源描述

1、1第二章第二章 8086微处理器微处理器第一节第一节 微处理器的基本结构微处理器的基本结构第二节第二节 8086微处理器微处理器第一节第一节、微型微型计算机结构计算机结构 CPU+适当容量适当容量M+输入输出接口输入输出接口+设备设备+软件软件 =MICOR _ COMPUTER SYSTEM1、微型计算机外部结构、微型计算机外部结构2、微型计算机内部结构、微型计算机内部结构1、微型计算机外部结构、微型计算机外部结构微型计算机外部结构如下图所示微型计算机外部结构如下图所示(三总线结构三总线结构)微型计算机外部结构微型计算机外部结构存存储储器器I/O接接口口输输入入设设备备I/O接接口口输输入入

2、设设备备CPU由上图看出,微机与外部交换信息通过总线控制。由上图看出,微机与外部交换信息通过总线控制。采用三总线结构采用三总线结构AB、DB、CB.三组总线:三组总线:地址总线地址总线 AB(ADDRESS BUS):通常通常16位,单向,位,单向,A15A0,可寻址,可寻址216=64KB内存单元。内存单元。A7A0,可寻址,可寻址 28=256外设接口。外设接口。数据总线数据总线 DB(DATA BUS):通常通常8位,位,D7D0,双向,实现,双向,实现CPU 与与I/O 传送。传送。控制总线控制总线 CB(CONTROL BUS):传送控制信号传送控制信号。2、微型计算机内部结构微型计

3、算机内部结构 由于由于CPU受成品率,成本,集成在单片上等原因。受成品率,成本,集成在单片上等原因。严格规定引脚数就限制了总线的数量。严格规定引脚数就限制了总线的数量。外部外部采用三总线结构采用三总线结构AB、DB、CB。内部内部采用单总线采用单总线,即内部所有单元即内部所有单元电路都挂在内部总线上,电路都挂在内部总线上,分时分时使用总线。使用总线。通常微处理机内部结构及外部连接方法如下图所示。通常微处理机内部结构及外部连接方法如下图所示。微型计算机内部结构微型计算机内部结构数据总线缓冲器数据总线缓冲器/锁存器锁存器累加器累加器(8 8位)位)暂存寄存暂存寄存器(器(8 8)标志寄存标志寄存器

4、器多路转换开关多路转换开关指令寄存指令寄存器器锁存器锁存器(8 8)十进制调整十进制调整通用寄存器阵列通用寄存器阵列地址缓冲器地址缓冲器指令指令译码器译码器加加1 1器器/减减1 1器地址锁器地址锁存器存器程序计数器程序计数器PCPC(1616)寄寄存存器器选选择择堆栈指示器堆栈指示器SPSP(1616)定时与控制定时与控制中断中断 I/O I/O 存储器存储器 .请求请求 写写 读读 请求请求 请求请求 等待等待 时钟时钟ALUALU内部数据总线内部数据总线.INTINTW WR RRDRDIORQIORQMREQMREQWAITWAITRESETRESETA15A0A15A0DB7DB0D

5、B7DB0算术逻辑单算术逻辑单元元CPU内部内部CPU外部外部微处理器内部主要由四部分组成:微处理器内部主要由四部分组成:(1)内部寄存器内部寄存器q 用来寄存参与运算的数据,用来寄存参与运算的数据,经常可以连成寄存器对(经常可以连成寄存器对(16位)位)用来存放操作数地址用来存放操作数地址。q 16位专用寄存器位专用寄存器 如:如:程序计数器程序计数器PC,堆栈指针,堆栈指针SP(2)累加器和算术逻辑单元累加器和算术逻辑单元 对数据进行对数据进行算术运算、逻辑运算场所,算术运算、逻辑运算场所,运算结果运算结果 标志触发器记忆标志触发器记忆 或送某个寄存器等等。或送某个寄存器等等。(3)指令寄

6、存器、指令译码器、定时及各种控制信号产生电路指令寄存器、指令译码器、定时及各种控制信号产生电路 把用户程序中的指令一条条译出来,把用户程序中的指令一条条译出来,然后以一定时序发出相应的控制信号。然后以一定时序发出相应的控制信号。(4)内部采用单总线结构内部采用单总线结构在任何时候只有一个内部设备能使用内部总线,在任何时候只有一个内部设备能使用内部总线,各设备之间必须分时使用内部总线,各设备之间必须分时使用内部总线,因而速度受到影响。因而速度受到影响。只有要求速度高的位片机(通常用双级型集成电路)中,只有要求速度高的位片机(通常用双级型集成电路)中,采用内部多总线结构。采用内部多总线结构。9第二

7、节、第二节、8086/8088CPU一、特点一、特点l Intel 系列系列 的的16位位CPU双列直插式封装双列直插式封装40根引脚根引脚工作频率为工作频率为4.77MHz 10MHz工作电源工作电源+5V 808610l 8086:对外有对外有16根根数据线,数据线,20根根地址线地址线可寻址的内存单元数可寻址的内存单元数 220=1M内存地址范围内存地址范围00000 FFFFFHl 8088:内部寄存器、运算部件及内部操作均按内部寄存器、运算部件及内部操作均按16位位设计设计,除对外数据线为除对外数据线为8根根外,其余与外,其余与8086基本相同。基本相同。为与当时已有的为与当时已有的

8、8 位外设接口芯片兼容位外设接口芯片兼容。IBM PC、IBP PC/XT 采用采用8088CPU 80888086CPU结构特点小结:结构特点小结:(1)内部结构内部结构 是是16位的位的 (内部寄存器,内部运算部件,内部操作按(内部寄存器,内部运算部件,内部操作按 16位设计);位设计);(2)外部外部数据总线数据总线16条条,能处理,能处理16位数据位数据,也能处理也能处理8位数据;位数据;(具有(具有16位运算指令,包括位运算指令,包括*、/指令)指令)(3)能执行整套能执行整套8086的指令的指令 (4)20条地址条地址总线,直接寻址能力总线,直接寻址能力1M字节;字节;(5)40条

9、条引线封装;引线封装;(6)单相时钟;单相时钟;(7)电源为电源为5V。8086与与8088的主要区别在于的主要区别在于8086的外部数据总线的外部数据总线16位。位。12二、二、8086/8088的编程结构的编程结构l 编程结构:编程结构:指从程序员和使用者的角度看到的结构。指从程序员和使用者的角度看到的结构。与芯片内部的物理结构和实际布局有区别。与芯片内部的物理结构和实际布局有区别。某某CPU芯片内部实物图芯片内部实物图131.总线接口部件总线接口部件BIU (Bus Interface Unit)运输部门运输部门2.执行部件执行部件EU (Execute Unit)加工部门加工部门3.工

10、作原理工作原理DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制制 电电 路路指令译码器指令译码器总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组BIUABDBCB地地址址加加法法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器8088 编程结构编程结构DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制制 电电 路路指令译码器指令译码器总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组BIUABDBCB地地址址加加法

11、法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器8086 编程结构编程结构:141.总线接口部件总线接口部件 BIUl 构成部分构成部分 4个个16位段寄存器位段寄存器:CS,DS,ES,SS 16位位IP指令指针寄存器指令指针寄存器 20位位 地址加法器地址加法器 6字节字节的的指令队列指令队列 (8088的指令队列为的指令队列为4字节字节)总线控制电路总线控制电路(包括三组总线包括三组总线):处理器与外界总线联系的转接电路。处理器与外界总线联系的转接电路。DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器A

12、XBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器8086 编程结构编程结构BIUEUl 主要功能主要功能 负责与负责与存储器、存储器、I/O接口接口传递数据传递数据 具体完成:具体完成:(1)从内存取指令,送到指令队列从内存取指令,送到指令队列;(2)配合执行部件从指定的内存单元配合执行部件从指定的内存单元 或或I/O端口取数据端口取数据;(3)将执行部件的操作结果送到将执行部件的操作结果送到 指定的内存单元或指定的内存单元或I/O端口。端口。三点说明三点说明:指令队列指令队列8086

13、 的指令队列为的指令队列为6个个字节字节,8088 的指令队列为的指令队列为4个个字节。字节。BIU 具有预取指令功能,具有预取指令功能,是一种先进先出(是一种先进先出(FIFO)的数据结构)的数据结构。不论是不论是8086还是还是8088都会在执行指令的同时从内存中取下一条或都会在执行指令的同时从内存中取下一条或几条指令,取来的指令放在指令队列中几条指令,取来的指令放在指令队列中.指令执行顺序指令执行顺序 顺序指令执行顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。:指令队列存放紧接在执行指令后面的那一条指令。执行转移指令执行转移指令:BIU 清除指令队列中的内容,从新的地址取入指

14、清除指令队列中的内容,从新的地址取入指令,立即送往执行单元,然后再从新单元开始重新填满队列。令,立即送往执行单元,然后再从新单元开始重新填满队列。162执行部件执行部件EUl构成部分:构成部分:8个个16位位寄存器:寄存器:AX、BX、CX、DX SP、BP、DI、SI 1个标志寄存器个标志寄存器PSW(FR)1个算术逻辑运算部件个算术逻辑运算部件 ALUl主要功能主要功能 执行部件负责指令的执行。执行部件负责指令的执行。(包括算术、逻辑运算,控制包括算术、逻辑运算,控制命令等命令等)DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指

15、令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器BIUEUALU173.工作原理工作原理 计算机的工作过程是:计算机的工作过程是:取指令取指令,执行指令执行指令CPU 总线总线 内存内存DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器、指令指令1指令

16、指令2指令指令3指令指令4、数据数据1数据数据2数据数据3、地址总线地址总线AB数据总线数据总线DB控制总线控制总线CB地地址址译译码码器器18总线接口部件和执行部件总线接口部件和执行部件可并行工作,提高工作效率。可并行工作,提高工作效率。l指令的提取和执行分别指令的提取和执行分别 由由BIU和和EU完成。完成。lBIU和和EU相互独立又相互配合相互独立又相互配合(1)当指令队列有一个空字节时,当指令队列有一个空字节时,BIU自动把指令取到指令队列中自动把指令取到指令队列中(2)执行部件总是从指令队列前部执行部件总是从指令队列前部 提出指令去执行。提出指令去执行。(3)如果在执行指令的过程中,

17、如果在执行指令的过程中,需要访问内存或需要访问内存或I/O端口,端口,EU会请求会请求BIU去完成存取操作去完成存取操作。DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器BIUEU19l 由于有指令队列的存在,由于有指令队列的存在,在在EU执行指令的同时,执行指令的同时,BIU可取指令,可取指令,即即BIU和和EU可处于并行工作状态。可处于并行工作状态。取指取指 取指

18、取指 取指取指 取指取指 取数取数 取指取指 等待等待 执行执行 执行执行 执行执行 等待等待 执行执行时间时间8086的工作原理:的工作原理:BIUEU20三、三、8086/8088的寄存器组的寄存器组l 共有共有14个个16位寄存器位寄存器,AX,BX,CX,DX,SI,DI,SP,BP,DS,ES,SS,CS,PSW(FR),IP 其中:其中:AX、BX、CX、DX 又可分成两个又可分成两个 8 位寄存器位寄存器(AH,AL;BH,BL;CH,CL;DH,DL.)其它其它10个只能作为个只能作为16位寄存器。位寄存器。DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制

19、制 电电 路路指令译码器指令译码器总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组BIUABDBCB地地址址加加法法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制制 电电 路路指令译码器指令译码器总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组BIUABDBCB地地址址加加法法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器21Destination Index目目的的

20、变变址址寄寄存存器器SIDIBPSPAX 累累加加器器 AccumulatorBX 基基数数寄寄存存器器BaseCX 计计数数寄寄存存器器CountDX 数数据据寄寄存存器器DataAHBHCHDHALBLCLDLIPPSWDSESSSCS数数据据段段寄寄存存器器Data Segment附附加加段段寄寄存存器器Extra Segment堆堆栈栈段段寄寄存存器器Stack Segment代代码码段段寄寄存存器器Code SegmentProcessor Status Word状状态态标标志志寄寄存存器器Instruction Pointer指指令令指指针针寄寄存存器器变变 址址寄寄存存器器段段寄

21、寄存存器器控控制制寄寄存存器器通通用用寄寄存存器器Source Index源源变变址址寄寄存存器器Base Point基基址址指指针针寄寄存存器器Stack Point堆堆栈栈指指针针寄寄存存器器指指 针针寄寄存存器器数数 据据寄寄存存器器(P34)1、通用寄存器、通用寄存器 通用寄存器包括:通用寄存器包括:数据寄存器、地址指针寄存器、变址寄存器数据寄存器、地址指针寄存器、变址寄存器。数据寄存器包括数据寄存器包括:AX、BX、CX、DX。地址指针寄存器包括地址指针寄存器包括:SP、BP。变址寄存器包括变址寄存器包括:SI、DI。2、段寄存器、段寄存器 段寄存器包括段寄存器包括:CS、SS、DS

22、、ES。3、控制寄存器、控制寄存器 控制寄存器包括:控制寄存器包括:IP、PSW。1、通用寄存器、通用寄存器(1)数据寄存器)数据寄存器AX、BX、CX、DX 作为通用寄存器。作为通用寄存器。用来用来暂存暂存计算过程中所用到的计算过程中所用到的操作数,结果或其它信息操作数,结果或其它信息。访问形式访问形式:可以用可以用16位的访问位的访问;或者可以用字节(或者可以用字节(8位)形式访问位)形式访问,它们的它们的高高8位记作位记作:AH、BH、CH、DH。它们的它们的低低8位记作位记作:AL、BL、CL、DL。AX(Accumulator)作为)作为累加器累加器。它它是算术运算的主要寄存器,是算

23、术运算的主要寄存器,所有所有I/O指令都使用这一寄存器与外部设备交换数据指令都使用这一寄存器与外部设备交换数据。例:例:IN AL ,20HOUT 30H,AXBXBase用作用作基址寄存器基址寄存器使用。使用。在在计算内存储器地址时,经常用来存放基址。计算内存储器地址时,经常用来存放基址。例:例:MOV AX,BX+03HCXCount可以可以作计数寄存器作计数寄存器使用。使用。在在循环循环LOOP指令和串处理指令中用作隐含计数器指令和串处理指令中用作隐含计数器。例:例:MOV CX,200HAGAIN:LOOP AGAIN ;(CX)-1(CX),结果结果 0转转AGAINDXData可以

24、可以作为数据寄存器使用。作为数据寄存器使用。一般在一般在双字长乘除法运算时双字长乘除法运算时,把把DX和和AX组合在一起存放一个双字长组合在一起存放一个双字长(32位位)数,数,DX用来存放高用来存放高16位位;对某些对某些I/O操作操作DX可用来存放可用来存放I/O的端口地址(的端口地址(口地址口地址 256)。)。例:例:MUL BX ;(AX)(BX)(DX)(AX)例例:IN AL,DX(2)地址指针与变址寄存器)地址指针与变址寄存器:段起始地址段起始地址 SP、BP、SI、DI 四个四个16位寄存器。位寄存器。以字为单位在运算过程中存放操作数,以字为单位在运算过程中存放操作数,经常用

25、以在经常用以在段内寻址时提供偏移地址。段内寻址时提供偏移地址。段内偏移地址段内偏移地址段地址段地址 :只取段起始地址高只取段起始地址高16位值。位值。偏移地址偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。指在段内某内存单元物理地址相对段起始地址的偏移值。高高16位值位值 0000B27地址指针寄存器地址指针寄存器(SP、BP)SP(stack pointer)堆栈指针寄存器堆栈指针寄存器 用来用来指示栈顶的偏移地址指示栈顶的偏移地址,必须必须与与SS段寄存器段寄存器联合使用确联合使用确定实际地址。定实际地址。堆栈和指针如下堆栈和指针如下页页图所示。图所示。BP(base poin

26、ter)基址指针寄存器基址指针寄存器 可以可以与与SS寄存器联合使用来确定寄存器联合使用来确定堆栈段堆栈段中中某一某一存储器单元存储器单元地址地址。8088系统存储器与总线连接系统存储器与总线连接堆栈和指针堆栈和指针设设:(SS)=3F00H,(SP)=0060H堆栈和指针如下图:堆栈和指针如下图:堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动,堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动,严格按照后进先出的工作原则。严格按照后进先出的工作原则。数据总线数据总线地址总线地址总线D7D0D7D01 M X 8位存储体1 M X 8位存储体A19A0A19A000000H00000HFF

27、FFFHFFFFFHA1910A1910.a1a1a0a0栈底栈底4EFFFH4EFFFH3F060H3F060H(SP)=60H(SP)=60H3F000H3F000H(SS)=3F00H(SS)=3F00H 变址寄存器变址寄存器(SI、DI)SISource Index Register 源变址寄存器。源变址寄存器。DIDestination Index 目的变址寄存器目的变址寄存器。使用场合:常用于变址寻址。使用场合:常用于变址寻址。一般与一般与DS联用,用来确定联用,用来确定数据段数据段中某一存储单元的地址,中某一存储单元的地址,例:例:MOV AX,SI在串处理指令中,在串处理指令中

28、,SI、DI作为隐含的源变址和目的变址寄作为隐含的源变址和目的变址寄 存器分别达到在数据段和附加段中寻址的目的。存器分别达到在数据段和附加段中寻址的目的。执行示意图如右图。执行示意图如右图。例:例:MOV SI,2000HMOV DI,3000HMOV CX,100HCLD.MOVSB.3000H:2000H3000H:2000H3000H:2100H3000H:2100H5000H:3000H5000H:3000H5000H:3100H5000H:3100HDS:2000HDS:20FFHDS:2000HDS:20FFHES:3000HES:30FFHES:3000HES:30FFH(DS)

29、(DS)(SI)(SI)(ES)(ES)(DI)(DI)存储器存储器 串处理指令执行示意图串处理指令执行示意图2、段寄存器、段寄存器段寄存器段寄存器:4个个16位段寄存器位段寄存器CS、DS、SS、ES。用来用来识别当前可寻址的四个段,不可互换的使用。识别当前可寻址的四个段,不可互换的使用。CSCode Segment Register 代码段寄存器代码段寄存器 用来识别当前代码段(程序一般放在代码段)。用来识别当前代码段(程序一般放在代码段)。DSData Segment Register数据段寄存器数据段寄存器 用来识别当前数据段寄存器。用来识别当前数据段寄存器。SSStack Segme

30、nt Register堆栈段寄存器,堆栈段寄存器,用来识别当前堆栈段。用来识别当前堆栈段。ESExtra Segment Register附加段寄存器附加段寄存器,用来识别当前附加段。用来识别当前附加段。3、控制寄存器、控制寄存器控制寄存器控制寄存器:IP、PSWIPInstruction Pointer指令指针寄存器指令指针寄存器 用来存储代码段中的偏移地址用来存储代码段中的偏移地址;程序运行过程中程序运行过程中IP始终指向下一次要取出的指令偏移地址始终指向下一次要取出的指令偏移地址。IP要与要与CS寄存器相配合才能形成真正的物理地址。寄存器相配合才能形成真正的物理地址。PSW(Proces

31、sor Status Word/Program)程序状态字寄存器,程序状态字寄存器,16位寄存器位寄存器,只用了其中只用了其中9位。位。由条件码标志由条件码标志FLAG、控制标志构成。、控制标志构成。(6位条件码标志位条件码标志,3位控制标志位控制标志)。33 9个标志按其作用分个标志按其作用分状态标志状态标志和和控制标志控制标志两类两类 状态标志状态标志:OF、SF、ZF、AF、PF、CF 共共6个个 记录指令运行过程或运算结果的状态信息。记录指令运行过程或运算结果的状态信息。常作为后续转移指令的控制条件,又称为条件码。常作为后续转移指令的控制条件,又称为条件码。控制标志控制标志:DF、IF

32、、TF 共共3个个 作用是控制作用是控制CPU 的操作。的操作。15 14 11 10 9 8 7 6 4 2 0OF DF IF TF SF ZFAFPFCF16位寄存器,用了其中的位寄存器,用了其中的9位,其它位,其它7位在位在8086/8088中无意义。中无意义。34各状态标志的含义各状态标志的含义:15 14 11 10 9 8 7 6 4 2 0OF DF IF TF SF ZFAFPFCFCF:进位标志进位标志(Carry Flag)运算过程中,最高位是否产生进位运算过程中,最高位是否产生进位/借位。借位。(最高位最高位 对字节操作指对字节操作指D7位位,对字操作指对字操作指D15

33、位位)加法,最高有效位有进位加法,最高有效位有进位CF1,否则,否则CF0 减法,最高有效位有借位减法,最高有效位有借位CF1,否则,否则CF0AF:辅助进位标志辅助进位标志(Auxiliary Carry Flag)运算过程中,对字节操作运算过程中,对字节操作D3位是否产生进位。位是否产生进位。有进位或借位时,有进位或借位时,AF1,否则,否则AF0。35ZF:零标志零标志(Zero Flag)运算结果是否为运算结果是否为0。运算结果为运算结果为 0 时,时,ZF1,否则,否则ZF0SF:符号标志符号标志(Sign Flag)运算结果的符号位。运算结果的符号位。对字节操作对字节操作 SFD7

34、 对字操作对字操作SFD15 15 14 11 10 9 8 7 6 4 2 0OF DF IF TF SF ZFAFPFCF36 15 14 11 10 9 8 7 6 4 2 0OF DF IF TF SF ZFAFPFCFOF:溢出标志溢出标志(Overflow Flag)运算过程中是否产生溢出。运算过程中是否产生溢出。产生溢出,产生溢出,OF1,否则为,否则为0。PF:奇偶标志奇偶标志(Parity Flag)运算结果低运算结果低8位中位中“1”的个数情况。的个数情况。偶数个偶数个“1”时,时,PF1,否则否则PF0。37 1 0 1 1 0 1 0 1 被加数被加数8位位 +1 0

35、0 0 1 1 1 1 加数加数8位位进位进位 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 和和8位位PSW标志寄存器标志寄存器运运算算器器标志标志寄存器寄存器运运算算器器被加数被加数加数加数和和进位进位例例 8位二进制加法如下,给出各状态标志位的值位二进制加法如下,给出各状态标志位的值 最高位最高位D7位产生进位位产生进位:CF=1 D3位产生进位位产生进位:AF=1相加的结果为相加的结果为44H,不为不为0:ZF=0结果的最高位为结果的最高位为0:SF=0两负数相加结果为正,溢出两负数相加结果为正,溢出:OF=1结果中有结果中有2个个1,偶数个,偶数个1:PF=1 15 1

36、4 11 10 9 8 7 6 4 2 0OF DF IF TF SF ZFAFPFCF1 0 0 1 1 138各控制标志作用各控制标志作用(以后用到再介绍以后用到再介绍):15 14 11 10 9 8 7 6 4 2 0OF DF IF TF SF ZFAFPFCFDF:方向标志方向标志在串操作指令中控制地址变化的方向。在串操作指令中控制地址变化的方向。当当DF1时,地址递减;当时,地址递减;当DF时,地址递增。时,地址递增。IF:中断标志中断标志当当IF1时,允许时,允许CPU响应可屏蔽中断申请。响应可屏蔽中断申请。当当IF时,禁止时,禁止CPU响应可屏蔽中断申请。响应可屏蔽中断申请。

37、TF:跟踪标志跟踪标志为调试程序设置的一个控制标志。为调试程序设置的一个控制标志。当当TF1时,时,CPU按单步方式执行指令。按单步方式执行指令。39调试程序调试程序DEBUG(自学自学)l DEBUG.exe 是是 DOS提供的一个调试汇编语言程序的程序提供的一个调试汇编语言程序的程序 每个版本的每个版本的DOS都带有该程序。都带有该程序。l DEBUG程序采用的是命令行方式程序采用的是命令行方式 使用不方便,但使用不方便,但实用性强实用性强.是学习汇编语言程序、计算机硬件等课程的有效工具是学习汇编语言程序、计算机硬件等课程的有效工具.l 其他调试程序其他调试程序:Turbo Debugge

38、r(TD.exe)Code View Softice40DEBUG 主要命令一览主要命令一览命命令令功功能能简简介介R 显显示示、修修改改寄寄存存器器内内容容RF 显显示示、修修改改 PSW 内内容容A 汇汇编编指指令令U 反反汇汇编编T 单单步步、多多步步执执行行指指令令P 单单步步、多多步步执执行行指指令令G 连连续续执执行行指指令令D 显显示示内内存存内内容容E 修修改改内内存存内内容容W 将将内内存存块块写写入入文文件件L 将将文文件件调调入入内内存存I 读读入入端端口口的的内内容容O 将将数数据据写写入入端端口口Q 退退出出 DEBUG,返返回回 DOS41 DEBUG程序程序的具体

39、作用的具体作用:1.查看查看/修改寄存器修改寄存器,内存单元的内容;内存单元的内容;2.学习寻址方式和指令系统学习寻址方式和指令系统;3.了解计算机取指令了解计算机取指令,执行指令的工作过程;执行指令的工作过程;4.调试有问题的调试有问题的汇编语言汇编语言程序。程序。42注意:注意:DEBUG下符号与标志的对应关系下符号与标志的对应关系 标标志志名名称称 10溢溢出出标标志志 OFOVNV方方向向标标志志 DFDNUP中中断断标标志志 IFEIDI符符号号标标志志 SFNGPL零零标标志志 ZFZRNZ辅辅助助标标志志 AFACNA奇奇偶偶标标志志 PFPEPO进进位位标标志志 CFCYNC4

40、3D:DEBUG ;进入进入DEBUG-R ;查看当前各寄存器的内容查看当前各寄存器的内容AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1271 ES=1271 SS=1271 CS=1271 IP=0100NV UP EI PL NZ NA PO NC1271:0100 B83412 MOV AX,1234-D 0:0 ;查看查看0:07FH内存块的内容内存块的内容0000:0000 9E 0F C9 00 65 04 70 00-16 00 EB 07 65 04 70 00 .e.p.e.p.0000:

41、0010 65 04 70 00 54 FF 00 F0-58 7F 00 F0 F5 E7 00 F0 e.p.T.X.、-U FFFF:0 ;反汇编反汇编FFFF:0 处的指令处的指令FFFF:0000 CD19 INT 19FFFF:0002 E000 LOOPNZ 0004、课后可参照下列步骤做实验课后可参照下列步骤做实验:(兰色表示用户输入命令,红色位(兰色表示用户输入命令,红色位解释,黑色为系统给出的结果)解释,黑色为系统给出的结果)44-A ;汇编一条指令汇编一条指令 1271:0100 MOV AX,12341271:0103-T=100 ;执行该指令执行该指令 AX=1234

42、 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1271 ES=1271 SS=1271 CS=1271 IP=0103 NV UP EI PL NZ NA PO NC1271:0103 E9C300 JMP 01C9-R ;查看指令执行后结果查看指令执行后结果 AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=1271 ES=1271 SS=1271 CS=1271 IP=0103 NV UP EI PL NZ NA PO NC-Q ;退出退

43、出DEBUGD:45四、四、8086/8088的存储器组织的存储器组织 1.内存物理地址的形成内存物理地址的形成 2.逻辑地址与物理地址逻辑地址与物理地址 3.各段在存储器中分配各段在存储器中分配 4.内存单元内容的存放及表示内存单元内容的存放及表示461.内存物理地址的形成内存物理地址的形成l 取指令、取数、存数时,都要访问内存,取指令、取数、存数时,都要访问内存,被访问内存单元的地址由被访问内存单元的地址由CPU提供。提供。DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPA

44、LBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器、指令指令1指令指令2指令指令3指令指令4、数据数据1数据数据2数据数据3、地址总线地址总线AB数据总线数据总线DB控制总线控制总线CB地地址址译译码码器器47l 8086/8088有有20根地址线,根地址线,可寻址可寻址220 =1M个内存单元,个内存单元,而而CPU内部寄存器均为内部寄存器均为16位,位,故:故:20位的地址位的地址需由需由 一个一个附加部件附加部件完成。完成。这个部件就是这个部件就是地址加法器地址加法器。DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器

45、寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器8088 编程结构编程结构BIUEU 8086/8088内部内部20位物理地址形成位物理地址形成 存储器地址分段存储器地址分段 8086/8088地址总线地址总线是是20位位的,的,CPU中的中的寄存器寄存器是是16位位的,的,20位地址无法用位地址无法用16位寄存器表示位寄存器表示,必须,必须分段分段。程序员在编制程序时把程序员在编制程序时把存储器划分成段存储器划分成段。段内地

46、址段内地址16位位,每个段的大小最大可达每个段的大小最大可达64KB;实际可以根据需要来确定段大小,可以是实际可以根据需要来确定段大小,可以是1,100,1000,在在64K范围内的任意字节数。范围内的任意字节数。IBM PC机对段的起始地址有限制,即段不能从任意地址开始:机对段的起始地址有限制,即段不能从任意地址开始:必须从任一小段(必须从任一小段(paragraph)的首地址开始。)的首地址开始。小段的概念小段的概念从从0地址开始每地址开始每16字节为一小段,字节为一小段,对于对于16位地址总线,段内存储器小段地址如下:位地址总线,段内存储器小段地址如下:如:如:0000H,0001H,0

47、002H,000EH,000FH一个小段一个小段 0010H,0011H,0012H,001EH,001FH 0020H,0021H,0022H,002EH,002FH FFF0H,FFF1H,FFF2H,FFFEH,FFFFH 其中:其中:第一列就是每个小段的首地址。第一列就是每个小段的首地址。每个小段首地址特征:每个小段首地址特征:在在16进制表示的地址中,最低位为进制表示的地址中,最低位为0H (即(即20位地址的低位地址的低4位为位为0000B)。)。在在1M字节的地址空间,共有字节的地址空间,共有64K个小段其首地址为:个小段其首地址为:0000 0H0001 0H4123 0H41

48、24 0HFFFE 0HFFFF 0H 20位物理地址形成位物理地址形成 物理地址物理地址:在在1M字节存储器里,字节存储器里,每个存储单元都有一个唯一的每个存储单元都有一个唯一的20位地址作为该存储单元的物理位地址作为该存储单元的物理地址。地址。CPU访问存储器时,必须先确定所要访问的存储单元的物理访问存储器时,必须先确定所要访问的存储单元的物理 地址才能取出(或存入)该单元中的内容。地址才能取出(或存入)该单元中的内容。20位物理地址形成:位物理地址形成:由由16位段地址和位段地址和16位偏移地址组成。位偏移地址组成。段段 地地 址址:只取段起始地址高只取段起始地址高16位值。位值。偏移地

49、址偏移地址:段内某内存单元物理地址相对段起始地址的偏移值。段内某内存单元物理地址相对段起始地址的偏移值。物理地址计算方法:物理地址计算方法:即把段地址即把段地址左移左移4位位再加上偏移地址值形成物理地址,写成:再加上偏移地址值形成物理地址,写成:物理地址物理地址=10H 段地址段地址+偏移地址。偏移地址。*每个存储单元只有唯一的物理地址。每个存储单元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址组成。但可由不同的段地址和不同的偏移地址组成。16位段地址16位段地址0000000016位偏移地址16位偏移地址0 015150 0151520位物理地址20位物理地址0 01919+53l

50、地址加法器的工作原理地址加法器的工作原理可表示为:可表示为:物理地址物理地址PA =段地址段地址 偏移地址偏移地址 =(段寄存器段寄存器)16 +偏移地址偏移地址 =(段寄存器段寄存器)10H+偏移地址偏移地址 即段寄存器的内容左移即段寄存器的内容左移4位,加上偏移地址位,加上偏移地址 DSESSSCSIP地地址址总总线线AB地地址址加加法法器器54物理地址物理地址PA =段地址段地址 偏移地址偏移地址 =(段寄存器段寄存器)10H+偏移地址偏移地址l 段寄存器有段寄存器有4个:个:DS、ES、CS、SSl 偏移地址由偏移地址由 IP、SP、BX、BP、SI、DI 或一个或一个8位或位或16位

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(8086微处理器微处理器的基本结构8086课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|