《微机系统中的微处理器讲稿.ppt》由会员分享,可在线阅读,更多相关《微机系统中的微处理器讲稿.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于微机系统中的微处理器第一页,讲稿共七十三页哦2 2常用术语(常用术语(1 1)n位(位(bitbit):计算机处理的最小数据单位,只能为):计算机处理的最小数据单位,只能为“0 0”或或“1 1”,缩写为,缩写为b bn千位(千位(KilobitKilobit):代表):代表2 21010位,即位,即10241024位,缩写位,缩写KbKbn兆位(兆位(MegabitMegabit):代表):代表2 22020位,即位,即1024102410241024位,缩写位,缩写MbMbn千兆位(千兆位(GigabitGigabit):代表):代表2 23030位,即位,即1024Mb1024Mb位
2、,缩写位,缩写GbGbn兆兆位(兆兆位(TerabitTerabit):代表):代表2 24040位,即位,即1024Gb1024Gb位,缩写位,缩写TbTb第二页,讲稿共七十三页哦3 3常用术语(常用术语(2 2)n字节(字节(ByteByte):计算机中存储器容量的基本单位,一个字节):计算机中存储器容量的基本单位,一个字节由由8 8位二进制数据组成,位二进制数据组成,ByteByte通常缩写为通常缩写为B B,同样有,同样有KBKB、MBMB、GBGB、TBTBn字(字(WordWord):不同的场合有不同的含义,软件上通常指):不同的场合有不同的含义,软件上通常指2 2个字节,硬件上一
3、般指处理器外部数据总线的宽度个字节,硬件上一般指处理器外部数据总线的宽度n字长:计算机运算部件直接能处理的二进制数据的位数。字字长:计算机运算部件直接能处理的二进制数据的位数。字长越长,计算机的处理能力越强,运算精度越高,指令功能长越长,计算机的处理能力越强,运算精度越高,指令功能越强,可寻址的存储空间也越大越强,可寻址的存储空间也越大第三页,讲稿共七十三页哦4 4常用术语(常用术语(3 3)nCPUCPU主频主频:主振频率,主振频率,CPUCPU内部的时钟频率,是内部的时钟频率,是CPUCPU进行运算进行运算时的工作频率。一般来说,主频越高,一个时钟周期里完成时的工作频率。一般来说,主频越高
4、,一个时钟周期里完成的指令数也越多,的指令数也越多,CPUCPU的运算速度也就越快。但由于内部结构的运算速度也就越快。但由于内部结构不同,并非所有时钟频率相同的不同,并非所有时钟频率相同的CPUCPU性能也一样。性能也一样。第四页,讲稿共七十三页哦5 52.1 8086的内部结构的内部结构n8086CPU从功能上来说分成两大部分:从功能上来说分成两大部分:总线接口单元总线接口单元BIU(Bus Interface Unit)执行单元执行单元EU(Execution Unit)nBIU的作用:负责对存储器的访问以及与的作用:负责对存储器的访问以及与I/O设备之间的信息设备之间的信息传送。传送。n
5、EU 的作用:负责指令的执行。的作用:负责指令的执行。第五页,讲稿共七十三页哦6 6 通 用 寄 存 器8086CPU功能框图功能框图 执行单元执行单元 AH ALBH BL CLCH DH DL SP BP DI SI CSDS SS ES I P 内部寄存器 总线 控制 逻辑 AX BX CX DX暂存器 A L U 标志寄存器 外部总线8086总线(16位)指令队列 8086为 6 字节ALU数据总线(16位)EU控制器总线接口单元(总线接口单元(BIU)地址加法器(20 位)数据总线(16 位)段寄存器指令指针(EU)1 2 3 4 5 6队列总线(8位)地址总线第六页,讲稿共七十三页
6、哦7 780868086的功能结构的功能结构n总线接口单元总线接口单元(BIU)qBIU包括个段寄存器、指令指针包括个段寄存器、指令指针IP(PC)、指令队列寄存、指令队列寄存器器(IR)、完成与、完成与EU通讯的内部寄存器、地址加法器和总线控制逻通讯的内部寄存器、地址加法器和总线控制逻辑。辑。q它的任务是执行总线周期,完成它的任务是执行总线周期,完成CPU与存储器和与存储器和I/O设备之设备之间信息的传送。具体地讲,就是取指令时,从存储器指定地址取间信息的传送。具体地讲,就是取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据出指令送入指令队列排队;执行指令时,根据EU命令对
7、指定存命令对指定存储单元或储单元或I/O端口存取数据。端口存取数据。第七页,讲稿共七十三页哦8 88086CPU与存储器、与存储器、I/O设备的连接设备的连接高位决定接口,高位决定接口,2或或3个低位选择端口个低位选择端口CPU数数据据线线控控制制线线地地址址线线接接 口口地址地址存储器中的字节存储器中的字节0101I/O接口接口I/O端口端口I/O设备设备高位决定模块高位决定模块存储器模块存储器模块第八页,讲稿共七十三页哦9 98086的功能结构的功能结构n执行单元执行单元(EU)qEU由算术逻辑单元由算术逻辑单元ALU、暂存器、标志寄存器、暂存器、标志寄存器(FLAGS)、通用寄存器组和通
8、用寄存器组和EU控制器构成。控制器构成。q它的任务执行指令,进行全部的算术逻辑运算,完成偏移地址它的任务执行指令,进行全部的算术逻辑运算,完成偏移地址的计算,向的计算,向BIU提供指令执行结果的数据和访问存储器需提供指令执行结果的数据和访问存储器需要的偏移地址,并对通用寄存器和标志寄存器进行管理。要的偏移地址,并对通用寄存器和标志寄存器进行管理。n16位的位的ALU总线和总线和8位队列总线用于位队列总线用于EU内部和内部和EU与与BIU之之间的通信。间的通信。第九页,讲稿共七十三页哦10108086的指令流水线(的指令流水线(1)n一条指令的执行过程:一条指令的执行过程:取指令取指令 取操作数
9、(如果需要)取操作数(如果需要)执行指令执行指令 写入存储器写入存储器n80868086出现以前,以上指令串行执行出现以前,以上指令串行执行取指取指1执行执行1存结果存结果1取指取指2执行执行2取指取指3执行执行3取操作数取操作数3CPUBUS忙忙忙忙忙忙忙忙忙忙闲闲闲闲闲闲8086以前的处理器以前的处理器第十页,讲稿共七十三页哦11118086的指令流水线(的指令流水线(2)n80868086内部有内部有BIUBIU、EUEU两个独立单元,可独立完成总线操作两个独立单元,可独立完成总线操作和执行指令的任务,即两个单元可重叠操作和执行指令的任务,即两个单元可重叠操作n流水线就是两次重叠或多次重
10、叠操作流水线就是两次重叠或多次重叠操作忙忙8086处理器处理器执行执行1执行执行2执行执行3执行执行3执行执行4取指取指1取指取指2存结果存结果1取指取指3取操作数取操作数3取指取指4存结果存结果3取指取指5忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙EUBUSBIU第十一页,讲稿共七十三页哦1212思考n以8086为例,说明微处理器的基本功能。n书上P12 图2.2中画出的地址总线为什么是单向的?数据总线为什么是双向的?第十二页,讲稿共七十三页哦13132.28086的寄存器结构的寄存器结构n8086CPU内部具有内部具有14个个16位寄存器,用于提供参与运算的数位寄存器,用于提供参与运算的数据、控制指
11、令执行和对指令及操作数寻址。基本分为通用寄存据、控制指令执行和对指令及操作数寻址。基本分为通用寄存器组、控制寄存器组和段寄存器组。器组、控制寄存器组和段寄存器组。n通用寄存器组通用寄存器组8个个16位通用寄存器组成,这些寄存器分为两组:数据寄存位通用寄存器组成,这些寄存器分为两组:数据寄存器及地址指针和变址寄存器。器及地址指针和变址寄存器。第十三页,讲稿共七十三页哦14148086的寄存器结构(的寄存器结构(1)BHBLAHALCHCLDHDL堆栈指针寄存器堆栈指针寄存器基址指针寄存器基址指针寄存器源变址寄存器源变址寄存器目的变址寄存器目的变址寄存器通通用用寄寄存存器器控制寄存器控制寄存器指令
12、指针寄存器指令指针寄存器状态标志寄存器状态标志寄存器代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器段段寄寄存存器器AXBXCXDXSPBPDISICSDSSSESIPFLAGS第十四页,讲稿共七十三页哦15158086的寄存器结构(的寄存器结构(2)1 1、数据寄存器、数据寄存器n4 4个数据寄存器:累加器个数据寄存器:累加器AXAX,基址寄存器,基址寄存器BXBX,计数寄存器,计数寄存器CXCX,数据,数据寄存器寄存器DXDXn特点:可分为高特点:可分为高8 8位(位(AHAH、BHBH、CHCH、DHDH)和低)和低8 8位(位(ALAL、
13、BLBL、CLCL、DLDL)。这两组)。这两组8 8位寄存器能分别寻址。这样,可以将数据寄存器当位寄存器能分别寻址。这样,可以将数据寄存器当作一个作一个1616位寄存器,也可用作两个位寄存器,也可用作两个8 8位寄存器位寄存器n可用来存放可用来存放8 8位或位或1616位二进制操作数,这些操作数可以是参加运位二进制操作数,这些操作数可以是参加运算的操作数、中间结果或操作数地址算的操作数、中间结果或操作数地址n大多数算数和逻辑运算指令可以使用这些寄存器大多数算数和逻辑运算指令可以使用这些寄存器第十五页,讲稿共七十三页哦16168086的寄存器结构(的寄存器结构(3)2 2、地址指针和变址寄存器
14、、地址指针和变址寄存器n4 4个:堆栈指针个:堆栈指针SPSP,基址指针,基址指针BPBP,源变址寄存器,源变址寄存器SISI,目的变址寄存,目的变址寄存器器DIDIn特点:这特点:这4 4个个1616位寄存器只能按位寄存器只能按1616位进行存取操作,主要用来形成位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数和有效地址操作数的地址,用于堆栈操作和变址运算中计算操作数和有效地址nSPSP,BPBP用于堆栈操作,用于堆栈操作,SPSP用来确定堆栈在内存中的地址,用来确定堆栈在内存中的地址,BPBP用来用来存放在现行堆栈段的一个数据区的存放在现行堆栈段的一个数据区的“
15、基址基址”nSISI,DIDI用于变址操作,存放变址地址用于变址操作,存放变址地址n这这4 4个寄存器也可用作数据寄存器个寄存器也可用作数据寄存器第十六页,讲稿共七十三页哦1717通用寄存器的特定用法通用寄存器的特定用法第十七页,讲稿共七十三页哦18188086的寄存器结构(的寄存器结构(4)3 3、指令指针、指令指针IPIPn1616位专用寄存器,保存下一条要执行的指令的偏移地址位专用寄存器,保存下一条要执行的指令的偏移地址n当当BIUBIU从内存中取出一个指令字节后,从内存中取出一个指令字节后,IPIP自动加自动加1 1,指向下一,指向下一个字节个字节nIPIP指向的是指令地址的段内地址偏
16、移量,又称偏移地址或指向的是指令地址的段内地址偏移量,又称偏移地址或有效地址有效地址n程序员不能对程序员不能对IPIP进行存取操作,程序中的转移指令、返回指令以进行存取操作,程序中的转移指令、返回指令以及中断处理能对及中断处理能对IPIP进行操作进行操作第十八页,讲稿共七十三页哦19198086的寄存器结构(的寄存器结构(5)4 4、标志寄存器、标志寄存器FLAGSFLAGS15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CFPFAFZFSFTFIFDFOFn 16 16位,其中有位,其中有6 6个状态位,个状态位,3 3个控制位个控制位n 6 6个状态位有:个状态
17、位有:CFCF、PFPF、AFAF、ZFZF、SFSF、OFOFn 3 3个控制位有:个控制位有:IFIF、DFDF、TFTF第十九页,讲稿共七十三页哦20208086的寄存器结构(的寄存器结构(6)标志寄存器标志寄存器FLAGSFLAGS(状态位)(状态位)n进位标志进位标志CFCF,反映算术运算后,最高位(字节操作为,反映算术运算后,最高位(字节操作为D D7 7,字操,字操作为作为D D1515)出现进位或借位的情况,有则为)出现进位或借位的情况,有则为“1 1”n奇偶标志奇偶标志PFPF,反映操作结果的低八位中,反映操作结果的低八位中“1 1”的个数的情况,的个数的情况,若为偶数,则若
18、为偶数,则PF=1PF=1n辅助进位标志辅助进位标志AFAF,反映一个,反映一个8 8位量的低位量的低4 4位向高位向高4 4位有无进位或位有无进位或借位的情况,有则置借位的情况,有则置“1 1”n零标志零标志ZFZF,反映运算结果是否为,反映运算结果是否为0 0的情况,结果为的情况,结果为0 0,ZFZF置为置为“1 1”,否则为,否则为“0 0”第二十页,讲稿共七十三页哦21218086的寄存器结构(的寄存器结构(7)n符号标志符号标志SFSF,反映运算结果的符号情况,若结果为负数,反映运算结果的符号情况,若结果为负数,SFSF为为“1 1”,否则为,否则为“0 0”。SFSF的取值与运算
19、结果最高位(字节操作为的取值与运算结果最高位(字节操作为D D7 7,字操作为,字操作为D D1515)一致。)一致。n溢出标志溢出标志OFOF,反映带符号数运算结果是否超过机器所能表,反映带符号数运算结果是否超过机器所能表示的数值范围的情况,对字节运算为示的数值范围的情况,对字节运算为-128 +127-128 +127,对字运,对字运算为算为-32768 +32767-32768 +32767。若超过上述范围则称为。若超过上述范围则称为“溢出溢出”,OF=1OF=1,否则为,否则为“0 0”。第二十一页,讲稿共七十三页哦22228086的寄存器结构(的寄存器结构(8)标志寄存器标志寄存器F
20、LAGSFLAGS(控制位)(控制位)n方向标志方向标志DFDF,在进行字符串操作时,每执行一条串操作指令,在进行字符串操作时,每执行一条串操作指令,对地址要进行一次调整,由对地址要进行一次调整,由DFDF决定地址是增还是减。若决定地址是增还是减。若DF=1DF=1,则为减量;,则为减量;DF=0DF=0,则为增量。,则为增量。n中断允许标志中断允许标志IFIF,表示系统是否允许外部可屏蔽中断。若,表示系统是否允许外部可屏蔽中断。若IF=1IF=1,表示允许中断,表示允许中断,IF=0IF=0,表示不允许中断。,表示不允许中断。IFIF对不可屏蔽对不可屏蔽中断及内部中断请求不起作用。中断及内部
21、中断请求不起作用。n跟踪标志跟踪标志TFTF,当,当TF=1TF=1时,时,CPUCPU每执行完一条指令,便自动产生每执行完一条指令,便自动产生一个内部中断,对程序进行逐条检查,常用于程序的调试。一个内部中断,对程序进行逐条检查,常用于程序的调试。第二十二页,讲稿共七十三页哦23238086的寄存器结构(的寄存器结构(9)5 5、段寄存器、段寄存器n内存中通常存放三种信息:内存中通常存放三种信息:代码(指令):计算机执行何种操作代码(指令):计算机执行何种操作 数据(字符、数值):程序处理的对象数据(字符、数值):程序处理的对象 堆栈信息:保存返回地址和中间结果堆栈信息:保存返回地址和中间结果
22、n为清晰起见,这三类信息分别存放在各自的存储区域内(存为清晰起见,这三类信息分别存放在各自的存储区域内(存储系统中的不同存储段)储系统中的不同存储段)n80868086系统中把可直接寻址的系统中把可直接寻址的1M1M字节内存空间分为称作段的逻字节内存空间分为称作段的逻辑区域,每个段的物理长度为辑区域,每个段的物理长度为64K64K字节。每个段的起始地址的有字节。每个段的起始地址的有关值存放在称为段寄存器的关值存放在称为段寄存器的4 4个个1616位寄存器中位寄存器中第二十三页,讲稿共七十三页哦24248086的寄存器结构(的寄存器结构(10)4 4个段寄存器为个段寄存器为n代码段寄存器代码段寄
23、存器CSCS:指向当前的代码段,指令由此段取出:指向当前的代码段,指令由此段取出n数据段寄存器数据段寄存器DSDS:指向当前数据段,通常用来存放程序变:指向当前数据段,通常用来存放程序变量量n堆栈段寄存器堆栈段寄存器SSSS:指向当前的堆栈段,堆栈操作所需的就是:指向当前的堆栈段,堆栈操作所需的就是该段存储单元的内容该段存储单元的内容n附加段寄存器附加段寄存器ESES:指向当前附加段,通常也用来存储数据:指向当前附加段,通常也用来存储数据第二十四页,讲稿共七十三页哦2525思考n8086内部有哪些程序可见的寄存器?其主要作用是什么?第二十五页,讲稿共七十三页哦26262.38086的存储器组织
24、(的存储器组织(1)n存储器组织存储器组织q8086CPU有有20条地址线,可条地址线,可配置配置1MB的存储器,地址编号的存储器,地址编号为为00000H-FFFFFHq存储空间按字节存储空间按字节(8位位)进行组进行组织,每个存储单元存储一个字织,每个存储单元存储一个字节的数据,若存放节的数据,若存放“字字”数据数据(16位),则存放在相邻两个位),则存放在相邻两个存储单元之中,高字节存放在存储单元之中,高字节存放在高地址单元,低字节存放在低高地址单元,低字节存放在低地址单元地址单元00000HFFFFFH00001H00002H00003HFFFFEH存储器存储器第二十六页,讲稿共七十三
25、页哦27278086的存储器组织(的存储器组织(2)q8086允许字从任何地址开始。允许字从任何地址开始。字的地址为偶地址时,称字的存储是字的地址为偶地址时,称字的存储是对准的对准的,CPU访问时需要一个总线周期访问时需要一个总线周期;若字的地址为奇地若字的地址为奇地址时,称字的存储是未对准的,址时,称字的存储是未对准的,CPU访问需要两个总线周期。访问需要两个总线周期。高字节高字节 低字节低字节 15 8 7 060280H60281H60282H第二十七页,讲稿共七十三页哦28288086的存储器组织(的存储器组织(3)n存储器分段存储器分段q8086CPU寄存器皆为寄存器皆为16位,内部
26、位,内部ALU只能进行只能进行16位运算,因此,位运算,因此,8086CPU对地址只能进行对地址只能进行16位运算,寻址范围位运算,寻址范围216=65536(64K)字节。所以引入分段概念,以获得)字节。所以引入分段概念,以获得20位地址位地址q一个段是存储器的一个逻辑单位,其长度可达一个段是存储器的一个逻辑单位,其长度可达64KB,每个段,每个段都由连续的存储单元构成,是存储器中独立的可分别寻址的单都由连续的存储单元构成,是存储器中独立的可分别寻址的单位位q每段第一个字节的位置称为每段第一个字节的位置称为“段起始地址段起始地址”,可由软件指定,可由软件指定q段起始地址:必须能被段起始地址:
27、必须能被16整除(即整除(即XXXX0H)q几个段可以相互重叠,也可指向同一空间几个段可以相互重叠,也可指向同一空间第二十八页,讲稿共七十三页哦29298086的存储器组织(的存储器组织(4)n段基址与段内偏移量段基址与段内偏移量q8086与存储器之间所有信息的交换都要使用与存储器之间所有信息的交换都要使用20位的物理地址,而位的物理地址,而程序中所涉及到的地址都是程序中所涉及到的地址都是16位的逻辑地址,对所给定的任一位的逻辑地址,对所给定的任一存储单元而言,有两部分逻辑地址:存储单元而言,有两部分逻辑地址:“段地址段地址”:一个段的起始地址的高一个段的起始地址的高16位,也称位,也称“段基
28、址段基址”。“段内偏移量段内偏移量”:段内一个存储单元的地址相对于段起始地址的距段内一个存储单元的地址相对于段起始地址的距离,也称离,也称“有效地址有效地址EA”,“偏移地址偏移地址”。q段地址存放在段寄存器段地址存放在段寄存器CS、DS、SS、ES中中q段内偏移量由段内偏移量由IP、SP、SI、DI、BX、BP以及相应寄存器的以及相应寄存器的组合而组成组合而组成第二十九页,讲稿共七十三页哦30308086的存储器组织(的存储器组织(5)n逻辑地址与物理地址逻辑地址与物理地址q在具有地址变换机构的计算机中,有两种存储器地址:在具有地址变换机构的计算机中,有两种存储器地址:逻辑地址:允许在程序中
29、编排的地址逻辑地址:允许在程序中编排的地址 物理地址:信息在存储器中实际存放地址物理地址:信息在存储器中实际存放地址q在在8086系统中,每个存储单元也都认为有这两类地址系统中,每个存储单元也都认为有这两类地址第三十页,讲稿共七十三页哦31318086的存储器组织(的存储器组织(6)n物理地址的形成物理地址的形成q存储单元的存储单元的20位物理地址是通过将位物理地址是通过将16位的段基址左移位的段基址左移4位,位,再加上再加上16位的偏移地址而形成的,即位的偏移地址而形成的,即 物理地址物理地址=段基址段基址*10H+段内偏移量段内偏移量q例如:例如:6000:0280的物理地址为的物理地址为
30、60280Hq8086CPU中中BIU单元的地址加法器可用来完成物理地址的计算单元的地址加法器可用来完成物理地址的计算第三十一页,讲稿共七十三页哦32328086的存储器组织(的存储器组织(7)n信息的分段存储与段寄存器的关系信息的分段存储与段寄存器的关系表表 各种类型访问存储器时的地址成分各种类型访问存储器时的地址成分内存访问类型内存访问类型默认段寄存器默认段寄存器可指定段寄存器可指定段寄存器段内偏移地址来源段内偏移地址来源123456取指令取指令堆栈操作堆栈操作源串源串目的串目的串BP用作基址寻址用作基址寻址一般数据存取一般数据存取CSSSDSESSSDS无无无无CS、ES、SS无无CS、
31、ES、DSCS、ES、SSIPSPSIDI按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址第三十二页,讲稿共七十三页哦33338086的存储器组织(的存储器组织(8)n段寄存器的使用约定段寄存器的使用约定q任何类型访问存储器时,其段地址要么由默认段寄存器提供,任何类型访问存储器时,其段地址要么由默认段寄存器提供,要么由要么由“指定指定”的段寄存器提供。的段寄存器提供。q段寄存器段寄存器DS、ES和和SS的内容是用传送指令置入的,但任何传的内容是用传送指令置入的,但任何传送型指令不能向段寄存器送型指令不能向段寄存器CS置入数,但一些
32、指令可以设置和置入数,但一些指令可以设置和影响影响CS的内容,如:的内容,如:ASSUME伪指令、伪指令、JMP、CALL、RET、INT和和IRET。q表中前四项指明了一个表中前四项指明了一个16位的指针寄存器或变址寄存器作为段内位的指针寄存器或变址寄存器作为段内偏移地址的来源,其它都要按指令码规定的寻址方式求得。偏移地址的来源,其它都要按指令码规定的寻址方式求得。第三十三页,讲稿共七十三页哦3434思考n什么是逻辑地址?什么是物理地址?如何由逻辑地址求物理地址?第三十四页,讲稿共七十三页哦35352.4 8086的的I/O组织组织nI/O接口是保证信息和数据在接口是保证信息和数据在CPU和
33、和I/O设备之间正常传送的电路。设备之间正常传送的电路。nI/O端口是端口是I/O接口内的寄存器,跟存储单元相同,也是以字节为单接口内的寄存器,跟存储单元相同,也是以字节为单位编址,一个位编址,一个I/O端口有唯一的端口有唯一的I/O地址相对应。地址相对应。n8086地址总线的低地址总线的低16位用来对位用来对8位位I/O端口寻址,所以端口寻址,所以8086的的I/O地址空间为地址空间为64K,可以访问,可以访问64K个个I/O端口端口n与存储器类似,任何两个地址连续的与存储器类似,任何两个地址连续的8位位I/O端口,都可以当作一个端口,都可以当作一个16位位I/O端口,类似于存储器的字。端口
34、,类似于存储器的字。n对对8086CPU来说,也象存储器的字那样,要实现奇地址的来说,也象存储器的字那样,要实现奇地址的16位位I/O端口输入输出,都必须访问两次。端口输入输出,都必须访问两次。第三十五页,讲稿共七十三页哦36368086CPU与存储器、与存储器、I/O设备的连接设备的连接高位决定接口,高位决定接口,2或或3个低位选择端口个低位选择端口CPU数数据据线线控控制制线线地地址址线线接接 口口地址地址存储器中的字节存储器中的字节0101I/O接口接口I/O端口端口I/O设备设备高位决定模块高位决定模块存储器模块存储器模块第三十六页,讲稿共七十三页哦40402.58086的寻址方式的寻
35、址方式n寻址方式:指令中用于说明操作数地址的方法寻址方式:指令中用于说明操作数地址的方法n寻址方式分为数据寻址方式和转移地址寻址方式寻址方式分为数据寻址方式和转移地址寻址方式n数据寻址方式通常有数据寻址方式通常有8 8种:种:1 1、立即寻址、立即寻址2 2、寄存器寻址、寄存器寻址3 3、直接寻址、直接寻址4 4、寄存器间接寻址、寄存器间接寻址5 5、寄存器相对寻址、寄存器相对寻址6 6、基址变址寻址、基址变址寻址7 7、基址变址且相对寻址、基址变址且相对寻址8 8、隐含寻址、隐含寻址第四十页,讲稿共七十三页哦4141立即寻址立即寻址存储器存储器 9ABC 1234 F5 1000 代代码码段
36、段数数据据段段MOV AX,1000HAXAHAL100030000H31000H31001H32000H32001Hn 操作数为立即数,直接存放在代码段中操作数为立即数,直接存放在代码段中第四十一页,讲稿共七十三页哦4242寄存器寻址寄存器寻址寄存器寻址寄存器寻址AX12A6HBX12A6Hn 操作数在寄存器中。对于操作数在寄存器中。对于16位数据,寄存器可以是位数据,寄存器可以是8个通用个通用寄存器中的任意一个(寄存器中的任意一个(AX、BX、CX、DX、SI、DI、SP、BP)。对于)。对于8位数据,寄存器可以是位数据,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。n 例如
37、:例如:MOV AX,BX第四十二页,讲稿共七十三页哦4343直接寻址直接寻址存储器存储器 9ABC 1234 F5 1000 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,1000HAXAHAL1234DS3000 0100031000物理地址物理地址n 操作数在内存单元中操作数在内存单元中n 指令码中直接给出数据的偏移地址指令码中直接给出数据的偏移地址第四十三页,讲稿共七十三页哦4444寄存器间接寻址(寄存器间接寻址(1)n 操作数在内存单元中操作数在内存单元中n 数据的偏移地址由指定的寄存器给出:数据的偏移地址由指定的寄存器给出:BX,
38、SI或或DIEA=(BX)(SI)(DI)第四十四页,讲稿共七十三页哦4545寄存器间接寻址(寄存器间接寻址(2)存储器存储器 9ABC 1234 F5 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,BXAXAHAL1234DS30000100031000物理地址物理地址BX操作数操作数第四十五页,讲稿共七十三页哦4646寄存器相对寻址(寄存器相对寻址(1)n 操作数在内存单元中操作数在内存单元中n 数据的偏移地址是位移量和一个基址寄存器(数据的偏移地址是位移量和一个基址寄存器(BX、BP)或变址寄存器(或变址寄存器(SI、DI)的内容之和)
39、的内容之和EA=(BX)(BP)(SI)(DI)+8位位disp16位位disp第四十六页,讲稿共七十三页哦4747寄存器相对寻址(寄存器相对寻址(2)存储器存储器 9ABC 1234 F5 0500 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,dispSIAXAHAL1234DS300000B0031000物理地址物理地址SI操作数操作数0500disp第四十七页,讲稿共七十三页哦4848基址变址寻址(基址变址寻址(1)n 操作数在内存单元中操作数在内存单元中n 数据的偏移地址是一个基址寄存器数据的偏移地址是一个基址寄存器(BX、BP)和
40、一个变和一个变址寄存器址寄存器(SI、DI)的内容之和的内容之和EA=(BX)(BP)+(SI)(DI)第四十八页,讲稿共七十三页哦4949基址变址寻址(基址变址寻址(2)存储器存储器 9ABC 1234 F5 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,BXSIDS3000 0100032000物理地址物理地址BX操作数操作数1000SIAXAHAL9ABC第四十九页,讲稿共七十三页哦5050基址变址且相对寻址(基址变址且相对寻址(1)n 操作数在内存单元中。操作数在内存单元中。n 数据的偏移地址是位移量,一个基址寄存器数据的偏移地址是位
41、移量,一个基址寄存器(BX、BP)和和一个变址寄存器一个变址寄存器(SI、DI)的内容三部分之和。的内容三部分之和。+EA=(BX)(BP)+(SI)(DI)8位位disp16位位disp第五十页,讲稿共七十三页哦5151基址变址且相对寻址(基址变址且相对寻址(2)存储器存储器 9ABC 1234 F5 0500 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX,dispBXSIDS3000 0100032000物理地址物理地址BX操作数操作数0B00SIAXAHAL9ABC0500disp第五十一页,讲稿共七十三页哦5252隐含寻址隐含寻址有些
42、指令码中不包含指明操作数地址的部分,而其操作码本身有些指令码中不包含指明操作数地址的部分,而其操作码本身隐含地说明了操作数地址。隐含地说明了操作数地址。例如:例如:MULCL;其操作为;其操作为(AX)(AL)(CL)在这里,在这里,AL操作数并没有在指令中指明,是由操作操作数并没有在指令中指明,是由操作码本身隐含地说明了码本身隐含地说明了第五十二页,讲稿共七十三页哦5353若若(BX)0158H,(DI)10A5H,位移量,位移量1B57H,(DS)2100H,(SS)1100H,(BP)0100H,段寄存器按默认段寄存,段寄存器按默认段寄存器,则相对于各种寻址方式的有效地址和物理地址是:器
43、,则相对于各种寻址方式的有效地址和物理地址是:直接寻址:直接寻址:EA1B57H物理地址物理地址(DS)10HEA21000H1B57H22B57H 寄存器间接寻址寄存器间接寻址(假设寄存器为假设寄存器为BX):EA0158H物理地址物理地址(DS)10HEA21000H0158H21158H例题例题第五十三页,讲稿共七十三页哦5454 寄存器相对寻址寄存器相对寻址(假设寄存器为假设寄存器为BP)EA0100H1B57H1C57H物理地址物理地址(SS)10HEA11000H1C57H12C57H 基址变址寻址基址变址寻址(假设寄存器为假设寄存器为BX和和DI)EA0158H10A5H11FD
44、H物理地址物理地址(DS)10HEA21000H11FDH221FDH 基址变址且相对寻址基址变址且相对寻址(假设寄存器为假设寄存器为BP和和DI)EA0100H10A5H1B57H2CFCH物理地址物理地址(SS)10HEA11000H2CFCH13CFCH第五十四页,讲稿共七十三页哦5555转移地址的寻址方式转移地址的寻址方式n指令是按顺序存放在存储器中的,其执行顺序是由代码段寄指令是按顺序存放在存储器中的,其执行顺序是由代码段寄存器存器CS和指令指针和指令指针IP的内容决定的。在正常的情况下,的内容决定的。在正常的情况下,BIU自动修改自动修改IP的内容,使它指向下一条指令。的内容,使它
45、指向下一条指令。n程序转移指令通过改变程序转移指令通过改变IP和和CS的内容,就可以改变程序的正常执的内容,就可以改变程序的正常执行顺序。行顺序。n转移地址的寻址方式有转移地址的寻址方式有4种:种:段内直接寻址段内直接寻址2.段内间接寻址段内间接寻址3.段间直接寻址段间直接寻址4.段间间接寻址段间间接寻址第五十五页,讲稿共七十三页哦5656段内直接寻址段内直接寻址pJMP指令的操作数部分直接给出目标单元指令的操作数部分直接给出目标单元p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成:CS*10H+(IP)(IP)=(IP)disp(8位或者位或者16位位)例如:例如:.JMP AB
46、C1.ABC1:.第五十六页,讲稿共七十三页哦5757段内间接寻址段内间接寻址pJMP指令转移的目标地址在某一个通用寄存器中或者在某指令转移的目标地址在某一个通用寄存器中或者在某一个字存储单元中一个字存储单元中p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成:CS*10H+(IP)(IP)EA(存在寄存器或存储器单元中存在寄存器或存储器单元中)例如:例如:JMP CX或者或者JMP WORD PTR BX第五十七页,讲稿共七十三页哦5858段间直接寻址段间直接寻址p指令码中直接给出指令码中直接给出16位的段地址和位的段地址和16位的有效地址。位的有效地址。p指令所在存储单元的地址的
47、形成:指令所在存储单元的地址的形成:(IP)EA(指令指令)(CS)段地址段地址(指令指令)例如:例如:COSEG1 SEGMENT.JMP FAR PTR TRAGET.COSEG1 ENDSCOSEG2 SEGMENT.TRAGET:-.COSEG2 ENDS第五十八页,讲稿共七十三页哦5959段间间接寻址段间间接寻址p段间间接寻址和段内间接寻址相似,要得到的转移地址包括段间间接寻址和段内间接寻址相似,要得到的转移地址包括16位段地址和位段地址和16位有效地址,使用地址连续的位有效地址,使用地址连续的4个存储单元存储个存储单元存储p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成
48、:(IP)EA(存储单元的前两个字节存储单元的前两个字节)(CS)段地址段地址(存储单元的后两存储单元的后两个个字节字节)例如:例如:JMP DWORD PTR ADDRBX或者或者 JMP DWORD PTR BXSI第五十九页,讲稿共七十三页哦6969第3章 结 束第六十九页,讲稿共七十三页哦7070习题(习题(1)1、8086CPU标志寄存器中的进位标志位是标志寄存器中的进位标志位是_。A CF B SF C PF D AF2、在、在80868088的基址加变址的寻址方式中,基址寄存器是指的基址加变址的寻址方式中,基址寄存器是指_。A AX,BX,CX,DX B BX,BP C SI,D
49、I D CS,DS,ES,SS3、8086的堆栈栈顶由的堆栈栈顶由_来指示。来指示。A CS IPB SS IPC SS SP D CS SP4、8086CPU的数据总线有的数据总线有 根。根。5、8086CPU能寻址能寻址 K个存储单元。个存储单元。6、8086CPU的代码段地址寄存器的代号是的代码段地址寄存器的代号是 。第七十页,讲稿共七十三页哦7171习题(习题(2)7、8086CPU有有 个个16位的寄存器可以分成位的寄存器可以分成8位的寄存器使用。位的寄存器使用。8、8086CPU的指令队列缓冲器有的指令队列缓冲器有 个字节。个字节。9、标志寄存器中的奇偶标志位是、标志寄存器中的奇偶
50、标志位是 。10、8086CPU共有共有 个个16位的寄存器。位的寄存器。11、8086CPU的数据段地址寄存器是的数据段地址寄存器是 。12、8086CPU的地址总线有的地址总线有 根。根。13、有两个有两个有两个有两个1616位字位字位字位字1EE5H1EE5H和和和和2A3CH2A3CH分别存放在分别存放在分别存放在分别存放在80868086微机的存储器的微机的存储器的微机的存储器的微机的存储器的000B0H000B0H和和和和000B3H000B3H中中中中,请用图表示出它们在存储器中的存放情况请用图表示出它们在存储器中的存放情况请用图表示出它们在存储器中的存放情况请用图表示出它们在存