《微机原理课件汇总全书电子教案完整版课件(最新).ppt》由会员分享,可在线阅读,更多相关《微机原理课件汇总全书电子教案完整版课件(最新).ppt(442页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.1微型计算机的发展和应用微型计算机的发展和应用n1946年年,世世界界上上出出现现第第一一台台数数字字式式电电子子计算机计算机ENIAC(电子数据和计算器)(电子数据和计算器)n发发展展到到以以大大规规模模集集成成电电路路为为主主要要部部件件的的第四代,产生了微型计算机第四代,产生了微型计算机n1971年年,Intel公公司司设设计计了了世世界界上上第第一一个个微微处处理理器器芯芯片片Intel4004,开开创创了了一一个全新的计算机时代个全新的计算机时代1.1.1 微型计算机的发展n第一时期微型计算机(第一时期微型计算机(1971年年1973年)年)4位和低档位和低档8位位CPU,400
2、4-4040-8080n第二时期微型计算机(第二时期微型计算机(1974年年1977年)年)中高档中高档8位位CPU,Z80、MC6800n第三时期微型计算机(第三时期微型计算机(1978年年1984年)年)16位位CPU和微机,和微机,8086-8088-80286n第四时期微型计算机(第四时期微型计算机(1985年年1993年)年)32位高档位高档CPU,80386-80486n第五时期微型计算机(第五时期微型计算机(1993年至今)年至今)64位高档位高档CPU,Pentium-PentiumII-PentiumIII-Pentium1.1.2 微型计算机的应用微型计算机的应用n科学计算
3、、科学研究、数值处理和信息处理方面科学计算、科学研究、数值处理和信息处理方面n科学计算,数据处理科学计算,数据处理n计算机辅助设计计算机辅助设计n功能越强越好、使用越方便越好功能越强越好、使用越方便越好n人工智能和过程自动化控制方面人工智能和过程自动化控制方面n工工业业PC机机、工工控控机机、可可编编程程逻逻辑辑控控制制器器、微微控控制制器器、数数字字信信号号处处理理器器n人工智能人工智能n网络通信网络通信n计算机技术与通信技术的结合构成了计算机网络计算机技术与通信技术的结合构成了计算机网络n计算机仿真计算机仿真n模拟器构建、虚拟环境实现模拟器构建、虚拟环境实现1.2微型计算机系统组成和工作原
4、理微型计算机系统组成和工作原理运算器运算器 控制器控制器 寄存器组寄存器组 存储器存储器 总线总线输入输入/输出输出接口电路接口电路外部设备外部设备 软件软件微处理器微处理器微型计算机微型计算机微型计算机系统微型计算机系统区别区别图图1.1 1.1 微型计算机的系统组成微型计算机的系统组成控制总线控制总线CB数据总线数据总线DB地址总线地址总线AB系系统统总总线线形形成成处处理理器器子子系系统统I/O设备设备I/O接口接口存储器存储器系统总线系统总线BUS1.2.1微型计算机的硬件系统微型计算机的硬件系统1.微处理器子系统微处理器子系统2.存储器存储器3.I/O设备和设备和I/O接口接口4.系
5、统总线系统总线系统总线系统总线n总线是指传递信息的一组公用导线总线是指传递信息的一组公用导线n总线是传送信息的公共通道总线是传送信息的公共通道n微机系统采用总线结构连接系统功能部件微机系统采用总线结构连接系统功能部件n总线信号可分成三组总线信号可分成三组n地址总线地址总线AB:传送地址信息:传送地址信息n数据总线数据总线DB:传送数据信息:传送数据信息n控制总线控制总线CB:传送控制信息:传送控制信息总线信号总线信号n地址总线地址总线ABn输出将要访问的内存单元或输出将要访问的内存单元或I/O端口的地址端口的地址n地址线的多少决定了系统直接寻址存储器的范围地址线的多少决定了系统直接寻址存储器的
6、范围n数据总线数据总线DBnCPU读操作时,外部数据通过数据总线送往读操作时,外部数据通过数据总线送往CPUnCPU写操作时,写操作时,CPU数据通过数据总线送往外部数据通过数据总线送往外部n数据线的多少决定了一次能够传送数据的位数数据线的多少决定了一次能够传送数据的位数n控制总线控制总线CBn协调系统中各部件的操作,有输出控制、输入状态等信号协调系统中各部件的操作,有输出控制、输入状态等信号n控制总线决定了系统总线的特点,例如功能、适应性等控制总线决定了系统总线的特点,例如功能、适应性等举例举例举例举例特点特点1.2.2微型计算机的软件系统微型计算机的软件系统 操作系统 MS-DOS 汇编程
7、序 MASM和LINK 文本编辑程序 EDIT.COM 调试程序 DEBUG.EXE为什么采用汇编语言?为什么采用汇编语言?1.2.3微型计算机系统工作原理微型计算机系统工作原理n取指令取指令n分析指令分析指令n执行指令执行指令微微型型计计算算机机执执行行程程序序的的过过程程,实实际际上上就就是是重重复复的的完完成成上上述述取取指指令令、分分析析指指令令和和执执行行指指令令的的过过程程,直直到到遇遇到到停停机机指指令令时时,CPU处处于于动态停机状态,才结束整个机器的运行。动态停机状态,才结束整个机器的运行。1.3微型计算机接口技术概述微型计算机接口技术概述n接口是指两个部件之间的交接部件。接
8、口是指两个部件之间的交接部件。n微型计算机接口的作用有以下几个方面:微型计算机接口的作用有以下几个方面:n匹配工作速度匹配工作速度n匹配信息格式匹配信息格式n实现信息传递实现信息传递内部数据总线内部数据总线控制总线控制总线数据总线数据总线地址总线地址总线暂存器暂存器累加器累加器ALU标志寄存器标志寄存器指指令令寄寄存存指指令令译译码码时序时序和和控制控制逻辑逻辑通通 用用寄存器组寄存器组地地 址址寄存器组寄存器组地址地址总线总线控制控制数据数据总线总线控制控制2.1微型计算机硬件结构微型计算机硬件结构1.算术逻辑单元(运算器)算术逻辑单元(运算器)2.寄存器组寄存器组3.指令处理单元(控制器)
9、指令处理单元(控制器)2.1.1 8088/8086的功能结构n8088的内部结构的内部结构从功能分成两个单元从功能分成两个单元n总总线线接接口口单单元元BIU管管理理8088与与系系统统总总线线的接口,负责的接口,负责CPU对存储器和外设进行访问对存储器和外设进行访问n执执行行单单元元EU负负责责指指令令的的译译码码、执执行行和和数数据的运算据的运算n两个单元相互独立,分别完成各自操作两个单元相互独立,分别完成各自操作n两两个个单单元元可可以以并并行行执执行行(演演示示1),实实现现指指令取指和执行的流水线操作令取指和执行的流水线操作2.1.28086/8088寄存器结构寄存器结构n8088
10、/8086的寄存器组有的寄存器组有n8个通用寄存器个通用寄存器n4个段寄存器个段寄存器n1个标志寄存器个标志寄存器n1个指令指针寄存器个指令指针寄存器寄存器均为寄存器均为1616位位!图示图示1.通用寄存器n8088有有8个通用的个通用的16位寄存器位寄存器n(1)数据寄存器)数据寄存器:AXBXCXDXn(2)变址寄存器)变址寄存器:SIDIn(3)指针寄存器)指针寄存器:BPSPn4个个数数据据寄寄存存器器还还可可以以分分成成高高8位位和和低低8位位两两个个独独立的寄存器,这样又形成立的寄存器,这样又形成8个通用的个通用的8位寄存器位寄存器AX:AHAL BX:BHBLCX:CHCL DX
11、:DHDL(1)数据寄存器nAX称为累加器(称为累加器(Accumulator)n使使用用频频度度最最高高。用用于于算算术术、逻逻辑辑运运算算以以及及与与外外设设传送信息等传送信息等nBX称称 为为 基基 址址 寄寄 存存 器器(Base addressRegister)n常用做存放存储器地址常用做存放存储器地址nCX称为计数器(称为计数器(Counter)n作为循环和串操作等指令中的隐含计数器作为循环和串操作等指令中的隐含计数器nDX称为数据寄存器(称为数据寄存器(Dataregister)n常常用用来来存存放放双双字字长长数数据据的的高高16位位,或或存存放放外外设设端端口地址口地址(2)
12、变址寄存器n16位变址寄存器位变址寄存器SI和和DIn常用于存储器变址寻址方式时提供地址常用于存储器变址寻址方式时提供地址nSI是源地址寄存器(是源地址寄存器(SourceIndex)nDI是目的地址寄存器(是目的地址寄存器(DestinationIndex)n在在串串操操作作类类指指令令中中,SI、DI还还有有较较特特殊殊的的用法用法(3)指针寄存器n指针寄存器用于寻址内存堆栈内的数据指针寄存器用于寻址内存堆栈内的数据nSPSP为为堆堆栈栈指指针针寄寄存存器器(StackPointer),指示堆栈段栈顶的位置(偏移地址)指示堆栈段栈顶的位置(偏移地址)nBPBP为为基基址址指指针针寄寄存存器
13、器(BasePointer),表示数据在堆栈段中的基地址表示数据在堆栈段中的基地址nSPSP和和BPBP寄寄存存器器与与SSSS段段寄寄存存器器联联合合使使用用以以确确定定堆堆栈段中的存储单元地址栈段中的存储单元地址2.指令指针寄存器nIP(InstructionPointer)为为指指令令指指针针寄寄存存器,指示主存储器指令的位置器,指示主存储器指令的位置n随随着着指指令令的的执执行行,IP将将自自动动修修改改以以指指示示下下一一条条指令所在的存储器位置指令所在的存储器位置nIP寄存器是一个寄存器是一个专用专用寄存器寄存器nIPIP寄寄存存器器与与CSCS段段寄寄存存器器联联合合使使用用以以
14、确确定定下下一一条条指令的存储单元地址指令的存储单元地址3.标志寄存器n标标志志(Flag)用用于于反反映映指指令令执执行行结结果果或或控制指令执行形式控制指令执行形式n8088处处理理器器的的各各种种标标志志形形成成了了一一个个16位位的的标标志志寄寄存存器器FLAGS(程程序序状状态态字字PSW寄寄存器)存器)n程序设计需要利用标志的状态程序设计需要利用标志的状态标志寄存器-分类n状状态态标标志志用用来来记记录录程程序序运运行行结结果果的的状状态态信信息息,许许多指令的执行都将相应地设置它多指令的执行都将相应地设置它nCFZFSFPFOFAFn控控制制标标志志可可由由程程序序根根据据需需要
15、要用用指指令令设设置置,用用于于控控制处理器执行指令的方式制处理器执行指令的方式nDFIFTFOF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0标志寄存器标志寄存器FLAGSFLAGS进位标志CF(Carry Flag)n当当运运算算结结果果的的最最高高有有效效位位有有进进位位(加加法法)或或借借位位(减减法法)时时,进进位位标标志志置置1,即即CF1;否则否则CF0n3AH+7CHB6H,没有进位:,没有进位:CF=0nAAH+7CH(1)26H,有进位:,有进位:CF=1零标志零标志ZF(ZeroFlag)n若运算结果为若运算结果为0,则,则ZF1,否则,否则ZF0
16、n3AH7CHB6H,结果不是零:,结果不是零:ZF0n84H7CH(1)00H,结果是零:,结果是零:ZF1符号标志符号标志SF(SignFlag)n运算结果最高位为运算结果最高位为1,则,则SF1;否则否则SF0n有符号数据用最高有效位表示数据的符号有符号数据用最高有效位表示数据的符号所以,最高有效位就是符号标志的状态所以,最高有效位就是符号标志的状态n3AH7CHB6H,最高位,最高位D71:SF1n84H7CH(1)00H,最高位,最高位D70:SF0奇偶标志奇偶标志PF(ParityFlag)n当当运运算算结结果果最最低低字字节节中中“1”的的个个数数为为零零或或偶数时,偶数时,PF
17、1;否则;否则PF0nPF标标志志仅仅反反映映最最低低8位位中中“1”的的个个数数是是偶或奇,即使是进行偶或奇,即使是进行16位字操作位字操作n3AH7CHB6H10110110Bn结果中有结果中有5个个“1”,是奇数:,是奇数:PF0溢出标志溢出标志OF(OverflowFlag)n若算术运算的结果有溢出,则若算术运算的结果有溢出,则OF1;否则否则OF0n3AH+7CHB6H,产生溢出:,产生溢出:OF1nAAH+7CH(1)26H,没有溢出:,没有溢出:OF0什么是溢出什么是溢出n处理器内部以补码表示有符号数处理器内部以补码表示有符号数n8位表达的整数范围是:位表达的整数范围是:1271
18、28n16位表达的范围是:位表达的范围是:3276732768n如果运算结果超出这个范围,就产生了溢出如果运算结果超出这个范围,就产生了溢出n有溢出,说明有符号数的运算结果不正确有溢出,说明有符号数的运算结果不正确n3AH7CHB6H,就是,就是58124182,已经超出已经超出128127范围,产生溢出,故范围,产生溢出,故OF1;补;补码码B6H表达真值是表达真值是74,显然运算结果也不正确,显然运算结果也不正确B6H10110110B,最高位为,最高位为1,作为有符号数是负数作为有符号数是负数对对B6H求反加求反加1等于:等于:01001001B101001010B4AH74所以,所以,
19、B6H表达有符号数的真值为表达有符号数的真值为74溢出和进位的区别溢出和进位的区别n溢溢出出标标志志OF和和进进位位标标志志CF是是两两个个意意义义不不同同的标志的标志n进进位位标标志志表表示示无无符符号号数数运运算算结结果果是是否否超超出出范范围,运算结果仍然正确围,运算结果仍然正确n溢溢出出标标志志表表示示有有符符号号数数运运算算结结果果是是否否超超出出范范围,运算结果已经不正确围,运算结果已经不正确溢出的判断溢出的判断n判断运算结果是否溢出有一个简单的规则:判断运算结果是否溢出有一个简单的规则:n只只有有当当两两个个相相同同符符号号数数相相加加(包包括括不不同同符符号号数数相相减减),而
20、而运运算算结结果果的的符符号号与与原原数数据据符符号号相相反反时时,产产生生溢溢出;因为,此时的运算结果显然不正确出;因为,此时的运算结果显然不正确n其他情况下,则不会产生溢出其他情况下,则不会产生溢出n例例1:3AH7CHB6H溢出溢出n例例2:AAH7CH无溢出无溢出n例例3:3AH7CH无溢出无溢出n例例4:AAH7CH2DH溢出溢出辅助进位标志辅助进位标志AF(AuxiliaryCarryFlag)n运运算算时时D D3 3位位(低低半半字字节节)有有进进位位或或借借位位时时,AFAF1 1;否则;否则AFAF0 0n这这个个标标志志主主要要由由处处理理器器内内部部使使用用,用用于于十
21、十进进制算术运算调整指令中,用户一般不必关心制算术运算调整指令中,用户一般不必关心n3AH7CHB6H,D3有进位:有进位:AF1方向标志方向标志DF(DirectionFlag)n用于串操作指令中,控制地址的变化方向:用于串操作指令中,控制地址的变化方向:n设置设置DF0,存储器地址自动增加;,存储器地址自动增加;n设置设置DF1,存储器地址自动减少,存储器地址自动减少CLDCLD指令复位方向标志:指令复位方向标志:DFDF0 0STDSTD指令置位方向标志:指令置位方向标志:DFDF1 1中断允许标志中断允许标志IF(Interrupt-enableFlag)n控制可屏蔽中断是否可以被处理
22、器响应:控制可屏蔽中断是否可以被处理器响应:n设置设置IF1,则允许中断;,则允许中断;n设置设置IF0,则禁止中断,则禁止中断CLICLI指令复位中断标志:指令复位中断标志:IFIF0 0STISTI指令置位中断标志:指令置位中断标志:IFIF1 1陷阱标志陷阱标志TF(TrapFlag)n用于控制处理器进入单步操作方式:用于控制处理器进入单步操作方式:n设置设置TF0,处理器正常工作;,处理器正常工作;n设置设置TF1,处理器单步执行指令,处理器单步执行指令单单步步执执行行指指令令处处理理器器在在每每条条指指令令执执行行结结束束时时,便产生一个编号为便产生一个编号为1 1的内部中断的内部中
23、断这种内部中断称为这种内部中断称为单步中断单步中断所以所以TFTF也称为也称为单步标志单步标志利用单步中断可对程序进行逐条指令的调试利用单步中断可对程序进行逐条指令的调试这种逐条指令调试程序的方法就是这种逐条指令调试程序的方法就是单步调试单步调试2.1.38088/8086的存储器结构的存储器结构存存储储器器是是计计算算机机存存储储信信息息的的地地方方。掌掌握握数数据据存存储储格格式式,以以及及存存储储器器的的分分段段管管理理对对以以后后的的汇汇编编程程序序设设计非常重要计非常重要1.寄存器、存储器和外存的区别寄存器、存储器和外存的区别n寄寄存存器器是是微微处处理理器器(CPU)内内部部暂暂存
24、存数数据据的的存存储储单单元元,以名称表示,例如:以名称表示,例如:AX,BX.等等n存存储储器器也也就就是是平平时时所所说说的的主主存存,也也叫叫内内存存,可可直直接接与与CPU进行数据交换。主存利用地址区别进行数据交换。主存利用地址区别n外外存存主主要要指指用用来来长长久久保保存存数数据据的的外外部部存存储储介介质质,常常见见的的有有硬硬盘盘、光光盘盘、磁磁带带、U盘盘等等。外外存存的的数数据据只只能能通通过过主主存存间间接地与接地与CPU交换数据交换数据n程程序序及及其其数数据据可可以以长长久久存存放放在在外外存存,在在运运行行需需要要时时才才进进入入主存主存存储单元及其存储内容存储单元
25、及其存储内容n每每个个存存储储单单元元都都有有一一个个编编号号;被被称称为为存存储器地址储器地址n每个存储单元存放一个字节的内容每个存储单元存放一个字节的内容n0002H0002H单元存放有一个数据单元存放有一个数据34H34Hn表达为表达为0002H0002H34H34H多字节数据存放方式多字节数据存放方式n多字节数据在存储器中占连续的多个存储单元:多字节数据在存储器中占连续的多个存储单元:n存放时,低字节存入低地址,高字节存入高地址;存放时,低字节存入低地址,高字节存入高地址;n表表达达时时,用用它它的的低低地地址址表表示示多多字字节节数数据据占占据据的的地地址址空间。空间。n80 x86
26、处处理理器器采采用用“低低对对低低、高高对对高高”的的存存储储形形式式,被称为被称为“小端方式小端方式LittleEndian”。n相对应还存在相对应还存在“大端方式大端方式BigEndian”。2.存储器的分段管理存储器的分段管理n8088CPU8088CPU有有2020条地址线条地址线n最大可寻址空间为最大可寻址空间为2 220201MB1MBn物理地址范围从物理地址范围从00000H00000HFFFFFHFFFFFHn8088CPU8088CPU将将1MB1MB空间分成许多空间分成许多逻辑段(逻辑段(SegmentSegment)n每个段最大限制为每个段最大限制为64KB64KBn段地
27、址的低段地址的低4 4位为位为0000B0000Bn这这样样,一一个个存存储储单单元元除除具具有有一一个个唯唯一一的的物物理理地地址址外外,还还具具有多个逻辑地址有多个逻辑地址物理地址和逻辑地址物理地址和逻辑地址n8088CPU8088CPU有有2020条地址线条地址线n8088CPU存存储储系系统统中中,对对应应每每个个物物理理存存储储单单元元都都有有一一个个唯唯一的一的20位编号,就是物理地址,从位编号,就是物理地址,从00000HFFFFFHn分段后在用户编程时,采用逻辑地址,形式为分段后在用户编程时,采用逻辑地址,形式为n段基地址段基地址 :段内偏移地址段内偏移地址n物理地址物理地址1
28、4700Hn逻辑地址逻辑地址1460H:100H逻辑地址逻辑地址n8088CPU8088CPU有有2020条地址线条地址线n段地址段地址说明逻辑段在主存中的起始位置说明逻辑段在主存中的起始位置n8088规定段地址必须是模规定段地址必须是模16地址:地址:xxxx0Hn省省略略低低4位位0000B,段段地地址址就就可可以以用用16位位数数据据表表示示,就能用就能用16位位段寄存器段寄存器表达段地址表达段地址n偏移地址偏移地址说明主存单元距离段起始位置的偏移量说明主存单元距离段起始位置的偏移量n每段不超过每段不超过64KB,偏移地址也可用,偏移地址也可用16位位数据表示数据表示物理地址和逻辑地址的
29、转换物理地址和逻辑地址的转换n将将逻逻辑辑地地址址中中的的段段地地址址左左移移4位位,加加上上偏偏移移地地址址就就得到得到20位物理地址位物理地址n一个物理地址可以有多个逻辑地址一个物理地址可以有多个逻辑地址逻辑地址逻辑地址 1460:1001460:100、1380:F001380:F00物理地址物理地址 14700H 14700H14700H 14700H3.段寄存器段寄存器n8088有有4个个16位段寄存器位段寄存器nCS(代码段)指明(代码段)指明代码段代码段的起始地址的起始地址nSS(堆栈段)指明(堆栈段)指明堆栈段堆栈段的起始地址的起始地址nDS(数据段)指明(数据段)指明数据段数
30、据段的起始地址的起始地址nES(附加段)指明(附加段)指明附加段附加段的起始地址的起始地址n每每个个段段寄寄存存器器用用来来确确定定一一个个逻逻辑辑段段的的起起始始地地址址,每每种逻辑段均有各自的用途种逻辑段均有各自的用途代码段寄存器代码段寄存器CS(CodeSegment)n代码段用来存放程序的指令序列代码段用来存放程序的指令序列n代码段寄存器代码段寄存器CS存放代码段的段地址存放代码段的段地址n指指令令指指针针寄寄存存器器IP指指示示下下条条指指令令的的偏偏移地址移地址n理器利用理器利用CS:IP取得下一条要执行的指令取得下一条要执行的指令堆栈段寄存器堆栈段寄存器SS(StackSegme
31、nt)n堆栈段确定堆栈所在的主存区域堆栈段确定堆栈所在的主存区域n堆栈段寄存器堆栈段寄存器SS存放堆栈段的段地址存放堆栈段的段地址n堆堆栈栈指指针针寄寄存存器器SP指指示示堆堆栈栈栈栈顶顶的的偏偏移地址移地址n处理器利用处理器利用SS:SP操作堆栈顶的数据操作堆栈顶的数据数据段寄存器数据段寄存器DS(DataSegment)n数据段存放运行程序所用的数据数据段存放运行程序所用的数据n数据段寄存器数据段寄存器DS存放数据段的段地址存放数据段的段地址n各各种种主主存存寻寻址址方方式式(有有效效地地址址EA)得得到存储器中操作数的偏移地址到存储器中操作数的偏移地址n处理器利用处理器利用DS:EA存取
32、数据段中的数据存取数据段中的数据附加段寄存器附加段寄存器ES(ExtraSegment)n附加段是附加的数据段,也保存数据:附加段是附加的数据段,也保存数据:n附加段寄存器附加段寄存器ES存放附加段的段地址存放附加段的段地址n各各种种主主存存寻寻址址方方式式(有有效效地地址址EA)得得到到存存储储器器中操作数的偏移地址中操作数的偏移地址n处理器利用处理器利用ES:EA存取附加段中的数据存取附加段中的数据n串操作指令将附加段作为其目的操作数的存放区域串操作指令将附加段作为其目的操作数的存放区域如何分配各个逻辑段如何分配各个逻辑段n程序的程序的指令指令序列必须安排在代码段序列必须安排在代码段n程序
33、使用的程序使用的堆栈堆栈一定在堆栈段一定在堆栈段n程程序序中中的的数数据据默默认认是是安安排排在在数数据据段段,也也经经常常安安排排在在附附加加段段,尤尤其其是是串串操操作作的的目目的的区区必必须须是是附附加段加段n数数据据的的存存放放比比较较灵灵活活,实实际际上上可可以以存存放放在在任任何何一种逻辑段中一种逻辑段中演示演示演示演示2 2寄存器的总结寄存器的总结n8088有有8个个8位位通通用用寄寄存存器器、8个个16位位通通用用寄存器寄存器n8088有有6个状态标志和个状态标志和3个控制标志个控制标志n8088将将1MB存存储储空空间间分分段段管管理理,有有4个个段段寄寄存器,对应存器,对应
34、4种逻辑段种逻辑段n8088有有4个个段段超超越越前前缀缀指指令令,用用于于明明确确指指定定数据所在的逻辑段数据所在的逻辑段2.2微型计算机软件体系微型计算机软件体系n立即数寻址方式立即数寻址方式n寄存器寻址方式寄存器寻址方式n直接寻址方式直接寻址方式n寄存器间接寻址方式寄存器间接寻址方式n寄存器相对寻址方式寄存器相对寻址方式n基址变址寻址方式基址变址寻址方式n相对基址变址寻址方式相对基址变址寻址方式2.2.1 立即数寻址方式立即数寻址方式n指指令令中中的的操操作作数数直直接接存存放放在在机机器器代代码码中中,紧紧跟跟在在操操作作码码之之后后(操操作作数数作作为为指指令令的的一一部部分分存放在
35、操作码之后的主存单元中)存放在操作码之后的主存单元中)n这种操作数被称为立即数这种操作数被称为立即数immn它可以是它可以是8位数值位数值i8(00HFFH)n也可以是也可以是16位数值位数值i16(0000HFFFFH)n立即数寻址方式常用来给寄存器赋值立即数寻址方式常用来给寄存器赋值MOVAL,05H;AL05HMOVAX,0102H;AX0102H2.2.2 寄存器寻址方式寄存器寻址方式n操作数存放在操作数存放在CPU的内部寄存器的内部寄存器reg中:中:n8位寄存器位寄存器r8:AH、AL、BH、BL、CH、CL、DH、DLn16位寄存器位寄存器r16:AX、BX、CX、DX、SI、D
36、I、BP、SPn4个段寄存器个段寄存器seg:CS、DS、SS、ESMOVAX,1234H;AX1234HMOVBX,AX;BXAX2.2.3 直接寻址方式直接寻址方式n有效地址在指令中直接给出有效地址在指令中直接给出n默默认认的的段段地地址址在在DS段段寄寄存存器器,可可使使用用段段超超越越前缀改变前缀改变MOVAX,2000H;AXDS:2000H;指令代码:;指令代码:A10020MOVAX,ES:2000H;AXES:2000H;指令代码:;指令代码:26A10020演示演示演示演示3 32.2.4 寄存器间接寻址方式寄存器间接寻址方式n有有效效地地址址存存放放在在基基址址寄寄存存器器
37、(BX或或BP)或或变变址址寄存器寄存器SI、DI中中nBX、SI、DI默默认认的的段段地地址址在在DS段段寄寄存存器器,而而BP默默认认的的段段地地址址在在SS段段寄寄存存器器.可可使使用用段段超超越越前缀改变前缀改变MOVAX,SI;AXDS:SIMOVAX,ES:SI;AXES:SI演示演示演示演示4 42.2.5 寄存器相对寻址方式寄存器相对寻址方式n有有效效地地址址是是寄寄存存器器内内容容与与有有符符号号8位位或或16位位位移量之和,寄存器可以是位移量之和,寄存器可以是BX/BP或或SI/DI有效地址有效地址BX/BP/SI/DI8/16位位移量位位移量n段段地地址址对对应应BX/S
38、I/DI寄寄存存器器默默认认在在DS,对对应应BP寄存器默认在寄存器默认在SS;可用段超越前缀;可用段超越前缀MOVAX,DI+06H;AXDS:DI+06HMOVAX,BP+06H;AXSS:BP+06H演示演示演示演示5 52.2.6 基址变址寻址方式基址变址寻址方式n有有效效地地址址由由基基址址寄寄存存器器(BX或或BP)的的内内容容加加上变址寄存器(上变址寄存器(SI或或DI)的内容构成:)的内容构成:有效地址有效地址BX/BPSI/DIn段段地地址址对对应应BX基基址址寄寄存存器器默默认认是是DS,对对应应BP基址寄存器默认是基址寄存器默认是SS;可用段超越前缀;可用段超越前缀MOV
39、AX,BX+SI;AXDS:BX+SIMOVAX,BP+DI;AXSS:BP+DIMOVAX,DS:BP+DI;AXDS:BP+DI演示演示演示演示6 62.2.7 相对基址变址寻址方式相对基址变址寻址方式n有有效效地地址址是是基基址址寄寄存存器器(BX/BP)、变变址址寄寄存存器器(SI/DI)与一个与一个8位或位或16位位移量之和:位位移量之和:有效地址有效地址BX/BPSI/DI8/16位位移量位位移量n段段地地址址对对应应BX基基址址寄寄存存器器默默认认是是DS,对对应应BP基址寄存器默认是基址寄存器默认是SS;可用段超越前缀;可用段超越前缀MOVAX,BX+SI+06H;AXDS:B
40、X+SI+06H演示演示演示演示7 72.3微处理器外部特性微处理器外部特性n8086的引脚信号的引脚信号2.3.18086/8088的工作模式的工作模式n两种组态构成两种不同规模的应用系统两种组态构成两种不同规模的应用系统n最小组态模式最小组态模式n构成小规模的应用系统构成小规模的应用系统n8088本身提供所有的系统总线信号本身提供所有的系统总线信号n最大组态模式最大组态模式n构构成成较较大大规规模模的的应应用用系系统统,例例如如可可以以接接入入数数值值协协处理器处理器8087n8088和总线控制器和总线控制器8288共同形成系统总线信号共同形成系统总线信号2.3.18086/8088的工作
41、模式的工作模式(续续)n两种组态利用两种组态利用MN/MX*引脚区别引脚区别nMN/MX*接高电平为最小组态模式接高电平为最小组态模式nMN/MX*接低电平为最大组态模式接低电平为最大组态模式n两种组态下的内部操作并没有区别两种组态下的内部操作并没有区别nIBMPC/XT采用最大组态采用最大组态2.3.2最小工作模式最小工作模式n8086/8088最小模式下的系统结构图最小模式下的系统结构图2.3.3最小组态的引脚信号最小组态的引脚信号1.数据和地址引脚数据和地址引脚2.读写控制引脚读写控制引脚3.中断请求和响应引脚中断请求和响应引脚4.总线请求和响应引脚总线请求和响应引脚5.其它引脚其它引脚
42、1.数据和地址引脚AD7AD0(Address/Data)n地址地址/数据分时复用数据分时复用引脚,双向、三态引脚,双向、三态n在在访访问问存存储储器器或或外外设设的的总总线线操操作作周周期期中中,这这些些引引脚脚在在第第一一个个时时钟钟周周期期输输出出存存储储器器或或I/O端口的低端口的低8位地址位地址A7A0n其他时间用于传送其他时间用于传送8位数据位数据D7D01.数据和地址引脚(续1)A15A8(Address)n中间中间8位位地址引脚地址引脚,输出、三态,输出、三态n这这些些引引脚脚在在访访问问存存储储器器或或外外设设时时,提提供供全全部部20位地址中的中间位地址中的中间8位地址位地
43、址A15A81.数据和地址引脚(续2)A19/S6A16/S3(Address/Status)n地址地址/状态状态分时复用引脚,输出、三态分时复用引脚,输出、三态n这这些些引引脚脚在在访访问问存存储储器器的的第第一一个个时时钟钟周周期期输出高输出高4位地址位地址A19A16n在在访访问问外外设设的的第第一一个个时时钟钟周周期期全全部部输输出出低低电平无效电平无效n其他时间输出状态信号其他时间输出状态信号S6S32.读写控制引脚ALE(AddressLatchEnable)n地址锁存允许地址锁存允许,输出、三态、高电平有效,输出、三态、高电平有效nALE引引脚脚高高有有效效时时,表表示示复复用用
44、引引脚脚:AD7AD0和和A19/S6A16/S3正正在在传传送送地地址址信信息息n由由于于地地址址信信息息在在这这些些复复用用引引脚脚上上出出现现的的时时间间很很短短暂暂,所所以以系系统统可可以以利利用用ALE引引脚脚将将地址锁存起来地址锁存起来2.读写控制引脚(续1)IO/M*(InputandOutput/Memory)nI/O或存储器访问或存储器访问,输出、三态,输出、三态n该该引引脚脚输输出出高高电电平平时时,表表示示CPU将将访访问问I/O端端口口,这这时时地地址址总总线线A15A0提提供供16位位I/O口地址口地址n该该引引脚脚输输出出低低电电平平时时,表表示示CPU将将访访问问
45、存存储储器器,这这时时地地址址总总线线A19A0提提供供20位位存存储器地址储器地址 2.读写控制引脚(续2)WR*(Write)n写控制写控制,输出、三态、低电平有效,输出、三态、低电平有效n有有效效时时,表表示示CPU正正在在写写出出数数据据给给存存储储器器或或I/O端口端口RD*(Read)n读控制读控制,输出、三态、低电平有效,输出、三态、低电平有效n有有效效时时,表表示示CPU正正在在从从存存储储器器或或I/O端端口读入数据口读入数据 2.读写控制引脚(续3)nIO/M*、WR*和和RD*是最基本的控制信号是最基本的控制信号n组合组合后,控制后,控制4种基本的总线周期种基本的总线周期
46、总线周期IO/M*WR*RD*存储器读低高低存储器写低低高I/O读高高低I/O写高低高2.读写控制引脚(续4)READY n存储器或存储器或I/O口就绪口就绪,输入、高电平有效,输入、高电平有效n在在总总线线操操作作周周期期中中,8088 CPU会会在在第第3个个时时钟钟周周期的前沿测试该引脚期的前沿测试该引脚n如果测到高有效,如果测到高有效,CPU直接进入第直接进入第4个时钟周期个时钟周期n如果测到无效,如果测到无效,CPU将插入等待周期将插入等待周期TwnCPU在在等等待待周周期期中中仍仍然然要要监监测测READY信信号号,有有效效则则进进入入第第4个个时时钟钟周周期期,否否则则继继续续插
47、插入入等等待待周周期期Tw。2.读写控制引脚(续5)DEN*(Data Enable)n数据允许数据允许,输出、三态、低电平有效,输出、三态、低电平有效n有有效效时时,表表示示当当前前数数据据总总线线上上正正在在传传送送数数据据,可利用他来控制对数据总线的驱动可利用他来控制对数据总线的驱动 DT/R*(Data Transmit/Receive)n数据发送数据发送/接收接收,输出、三态,输出、三态n该信号表明当前总线上数据的流向该信号表明当前总线上数据的流向n高电平时数据自高电平时数据自CPU输出(发送)输出(发送)n低电平时数据输入低电平时数据输入CPU(接收)(接收)2.读写控制引脚(续6
48、)SS0*(System Status 0)n最小组态模式下的最小组态模式下的状态输出状态输出信号信号n它它与与IO/M*和和DT/R*一一道道,通通过过编编码码指指示示CPU在最小组态下的在最小组态下的8种工作状态:种工作状态:1.取指取指5.中断响应中断响应2.存储器读存储器读6.I/O读读3.存储器写存储器写7.I/O写写4.过渡状态过渡状态8.暂停暂停3.中断请求和响应引脚INTR(Interrupt Request)n可屏蔽中断请求可屏蔽中断请求,输入、高电平有效,输入、高电平有效n有有效效时时,表表示示请请求求设设备备向向CPU申申请请可可屏屏蔽蔽中断中断n该该请请求求的的优优先先
49、级级别别较较低低,并并可可通通过过关关中中断断指指令令CLI清清除除标标志志寄寄存存器器中中的的IF标标志志、从从而对中断请求进行屏蔽而对中断请求进行屏蔽3.中断请求和响应引脚(续1)INTA*(InterruptAcknowledge)n可屏蔽中断响应可屏蔽中断响应,输出、低电平有效,输出、低电平有效n有有效效时时,表表示示来来自自INTR引引脚脚的的中中断断请请求求已被已被CPU响应,响应,CPU进入中断响应周期进入中断响应周期n中中断断响响应应周周期期是是连连续续的的两两个个,每每个个都都发发出出有有效效响响应应信信号号,以以便便通通知知外外设设他他们们的的中中断断请请求求已已被被响响应
50、应、并并令令有有关关设设备备将将中中断断向向量量号送到数据总线号送到数据总线 3.中断请求和响应引脚(续2)NMI(Non-MaskableInterrupt)n不可屏蔽中断请求不可屏蔽中断请求,输入、上升沿有效,输入、上升沿有效n有效时,表示外界向有效时,表示外界向CPU申请不可屏蔽中断申请不可屏蔽中断n该该请请求求的的优优先先级级别别高高于于INTR,并并且且不不能能在在CPU内内被屏蔽被屏蔽n当当系系统统发发生生紧紧急急情情况况时时,可可通通过过他他向向CPU申申请请不不可可屏蔽中断服务屏蔽中断服务主机与外设进行数据交换通常采用可屏蔽中断主机与外设进行数据交换通常采用可屏蔽中断不可屏蔽中