微机原理与汇编语言课件_第1页
微机原理与汇编语言课件_第2页
微机原理与汇编语言课件_第3页
微机原理与汇编语言课件_第4页
微机原理与汇编语言课件_第5页
已阅读5页,还剩153页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基础知识1.1微型计算机中数的表示1.1.1十、二、八和十六进制数1.1.2数制的转换返回1.1.1十、二、八和十六进制数1.十进制数2.二进制数3.八进制数4.十六进制数返回十进制数十进制数是日常生活中使用最多的数制。十进制数的要素有:每一位数是0~9十个数码中的一个;逢十进一,借一为十。十进制数的尾符为:D返回二进制数计算机中采用的是二进制数。二进制数的要素有:每一位数是0或1两个数码中的一个;逢二进一,借一为二。二进制数的尾符为:B返回八进制数为了简化表示二进制数,在计算机原理和分析中常用八进制数。八进制数的要素为:每一位数是0~7八个数码中的一个;逢八进一,借一为八。八进制数的尾符为:O返回十六进制数为了简化表示二进制数,在计算机原理和分析中常用十六进制数。十六进制数的要素为:

每一位数是0~9、A~F十六个数码中的一个;逢十六进一,借一为十六。十六进制数的尾符为:H返回1.1.2数制的转换1.十进制数转换为其他进制数2.其他进制数转换为十进制数3.二进制数与八(十六)进制数的互相转换返回十进制数转换为其他进制数转换方法:将十进制数的整数部分除以被转换的进制值,每除一次取一次余数,无余数取零,按逆序取值;将十进制数的小数部分乘以被转换的进制值,每乘一次取一次整数,无整数取零,按顺序取值。例:235.25D=11101011.01B=353.2O=EB.4H返回其他进制数转换为十进制数转换方法:按权相加。例:110101.01B=25+24+22+1+2-1=32+16+4+1+0.25=53.25D234.6O=2×82+3×8+4+6×8-1=128+24+4+0.75=156.75D3A2.AH=3×162+10×16+2+10×16-1=768+160+2+0.625=930.625D返回二进制数与八(十六)进制数的互相转换

转换方法:将二进制数以小数点为界,整数向左,小数向右,每3(4)位为一组,不足补0,对应转换为8(16)进制数;反之,为逆变换。例:1101011.1B=001

101

011.100=153.4O=0110

1011.1000=6B.8H234.5O=010

011

100.101=10011100.101B1AB.CH=0001

1010

1011.1100=110101011.11B返回1.2二进制编码1.2.1二进制编码1.2.2二—十进制编码(1)1.2.2二—十进制编码(2)1.2.3字符编码、字型编码和字节返回1.2.1二进制编码1.8421码2.循环码详见P5表1.2。返回1.2.2二—十进制编码(1)1.8421BCD码:是一种有权码,它保留了8421码的前10组编码,去掉了后6组编码。2.余3码:是一种无权码,它保留了8421码的中间10组编码,去掉了前、后3组编码。3.循环BCD码:是一种无权码,它保留了循环码的前10组编码,去掉了后6组编码。返回1.2.2二—十进制编码(2)4.循环余3码:是一种无权码,它保留了循环码的中间10组编码,去掉了前、后3组编码。5.5211码:是一种有权码,其每一位数码的权值正如编码名称所示。6.2421码:是一种有权码,其每一位数码的权值正如编码名称所示。返回1.2.3字符编码、字型编码和字节

1.字符的编码2.字符的字型编码3.位、字、字长和字节返回1.字符的编码西文字符:采用ASCII码,用一字节表示。汉字字符:采用GB2312-80编码,用二个字节表示。共定义了7445个字符信息,其中汉字字符6763个,其他字符682个。

ASCII编码表见P7表1.4。返回2.字符的字型编码字符的字型编码采用点阵的形式。如西文显示字符采用5×7点阵,汉字显示字符采用16×16点阵,汉字打印字符至少采用16×16点阵。相同形式的字符存放在同一个文件中,称××字库。返回3.位、字、字长和字节位(bit):一位二进制数简称一位。是表示信息的最小单位。字(word):计算机一次所能处理的一组二进制数。字长:计算机一次所能处理的一组二进制数的位数。字节(byte):8位二进制数为一个字节。字节是表示信息量多少和存储容量大小的基本单位,其辅助单位有:210B=1KB,220B=1MB,230B=1GB,240B=1TB。返回1.3二进制数的运算1.3.1原码、反码、补码及补码运算1.3.2逻辑运算1.3.3数的定点表示和浮点表示返回1.3.1原码、反码、补码及补码运算1.二进制数的简单算术运算2.原码、反码和补码3.补码运算返回1.二进制数的简单算术运算加法运算:0+0=0,0+1=1+0=1,1+1=10。减法运算:0-0=0,1-0=1,1-1=0,0-1=1(向高位借1)。乘法运算:0×0=1,0×1=0,1×1=1(移位相加)。除法运算:0÷0、1÷0均非法,0÷1=0,1÷1=1(移位相减)。返回2.原码、反码和补码带正、负号的二进制数称为真值。为了对带正、负号的二进制数进行运算,引入原码、反码和补码的概念。原码:把真值的符号位也数字化,称为原码。一般用0表示符号“+”,用1表示符号“-”。反码:正数的反码与原码相同;负数的反码是:符号位不变,数值位逐位取反。补码:正数的补码与原码相同;负数的补码是:符号位不变,数值位逐位取反加1。返回3.补码运算模的概念:“减去一个数,等于加上这个数的负数”。补码运算的优点:使加、减法运算统一为加法运算。补码运算的方法:将需运算的数求补,做相加运算,运算结果再次求补还原。返回1.3.2逻辑运算1.三种基本逻辑运算2.常用的逻辑运算

返回1.三种基本逻辑运算“与”逻辑运算关系:Y1=A•B“或”逻辑运算关系:Y2=A+B“非”逻辑运算关系:Y3=

其逻辑符号和真值表见P11的相应图示和表1.5。返回2.常用的逻辑运算与非逻辑关系:Y4=或非逻辑关系:Y5=异或逻辑关系:Y6=A⊕B,Y7=A⊕B与或非逻辑关系:Y8=其逻辑符号和真值表见P12的相应图示和P13的表1.6、表1.7。返回1.3.3数的定点表示和浮点表示1.数的定点表示法2.数的浮点表示法返回1.数的定点表示法规定一个固定的小数点的位置,并把用这种方法表示的数称为定点数。MSB表示最高有效位,LSB表示最低有效位。当小数点固定在MSB的前面时,定点数为纯小数,当小数点固定在LSB的后面时,定点数为纯整数。符号MSB…LSB返回2.1概述2.1.1计算机的发展2.1.2微型计算机的发展返回2.1.1计算机的发展

计算机的发展经历了四个阶段:电子管时代晶体管时代集成电路时代大规模、超大规模集成电路时代返回2.1.2微型计算机的发展

微型计算机属于第四代计算机微型计算机的发展以微处理器的发展为主要特征微处理器的发展经历了4位、8位、16位、32位和64位的阶段。返回2.2微型计算机系统2.2.1微处理器2.2.2微型计算机2.2.3微型计算机系统返回2.2.1微处理器微处理器也称为中央处理器,简称CPU。微处理器中集成的部件主要有:运算器、控制器、寄存器以及协处理器、高速缓冲存储器、接口和控制部件等。返回2.2.2微型计算机微型计算机是指以CPU为核心,配以存储器、输入/输出接口电路、系统总线及相应的外设而构成的完整的、可独立工作的计算机。单片机:把CPU、存储器、I/O接口及时钟发生器集成在一块芯片上,即单片机。单板机:把CPU、存储器、I/O接口简单的外设和辅助设备通过总线装配在一块印刷电路板上,就构成了单板机。返回2.2.3微型计算机系统1.硬件系统:看得见、摸得着的物理实体。2.软件系统:计算机运行的所有程序、数据、文档的集合。软件系统按功能可分为系统软件和应用软件。衡量微机的常用性能指标有:字长、存储容量、运算速度、总线及接口、系统软件配置等。返回系统软件和应用软件系统软件:由计算机厂家和软件制造商作为系统资源提供给用户的软件,是使用、管理计算机以及为其它软件服务的软件。在系统软件的支持下,用户可方便地开发其所需软件。应用软件:只针对不同应用目的,实现用户使用要求而开发、编制的各种功能软件和应用程序。如常用的字处理、电子表格、绘图软件等。返回3.1CPU的基本结构P27的图3.1给出了CPU的一般结构。3.1.1运算器3.1.2控制器3.1.3内部寄存器组3.1.4指令在CPU中的执行过程返回3.1.1运算器运算器也称为算术逻辑单元(ALU)。运算器主要由寄存器和算术逻辑部件构成。ALU的基本组成是一个加法器。有关ALU的逻辑部件如P27图3.2所示。返回3.1.2控制器控制器负责对指令进行译码和处理。控制器一般包括:指令寄存器指令译码器时序和控制电路返回3.1.3内部寄存器组内部寄存器组指一些专用、通用的寄存器。其中包括:

累加器A数据寄存器DR地址寄存器AR标志寄存器F程序计数器PC通用寄存器(是一组寄存器)返回3.1.4指令在CPU中的执行过程PC指出当前的指令地址并将其放至AB总线,然后将PC+1送PC,为取下一条指令做好准备;由DB总线将指令从内存取出并送往指令寄存器,经指令译码后,控制电路产生出该指令所需各种控制信号;取出该指令所需操作数地址及数据;完成该指令操作;检查有无其他控制信号(如中断请求等),以便作出相应处理;提供用以指示CPU状态的标志信号、控制信号、定时信号等。返回3.28086/8088微处理器3.2.18086微处理器的内部结构3.2.28086的寄存器结构3.2.38086的存储器组织3.2.48086CPU的I/O组织3.2.58086的引脚信号和工作模式返回3.2.18086微处理器的内部结构8086的内部结构如P30图3.3所示。1.执行部分EU2.总线接口部分BIU3.BIU和EU的管理返回执行部分EU执行部分EU的作用是负责执行全部指令,并负责管理标志寄存器和通用寄存器。EU由以下几部分组成:16位算术逻辑单元ALU16位标志寄存器F数据暂存寄存器通用寄存器组:SP、BP、SI、DI和AX、BX、CX、DX。EU控制电路返回总线接口部分BIUBIU是CPU与外部存储器、I/O设备的接口,主要由以下几部分组成:16位指令指针寄存器IP指令队列4个16位段寄存器:CS、DS、ES、SS20位地址加法器总线控制部件返回3.2.28086的寄存器结构1.通用寄存器组:即EU中AX、BX、CX、DX。2.指令寄存器和变址寄存器:SP、BP、SI、DI。3.段寄存器组:CS、DS、SS、ES。4.指令指针寄存器和标志寄存器:IP、F。返回通用寄存器组通用寄存器也称数据寄存器。每个寄存器可分为两个8位寄存器,分别作为独立的8位通用寄存器使用。AX:累加器,有些指令约定以AX(AL)为目的寄存器,所以称其为累加器。BX:基址寄存器,用作间接寻址的地址寄存器和基地址寄存器。CX:计数寄存器,当指令执行以后CX中的内容自动变化,所以被称为计数寄存器。DX:数据寄存器,除了作为通用寄存器外,DX在乘除指令中作辅助累加器,在I/O指令中作地址寄存器。返回指令寄存器和变址寄存器SP:堆栈指针寄存器,用来指出当前堆栈段栈顶的偏移地址。BP:基址指针寄存器,通常与SS联用,其中存放的是堆栈中某一存储单元的偏移地址。SI:源变址寄存器,与DS联用,确定数据段中某一存储单元的地址。DI:目的变址寄存器,与DS联用,确定数据段中某一存储单元的地址。返回段寄存器组在8086的BIU中共设有4个段寄存器组,负责给出相应段的段起始地址的高16位,所以被称为“段基址”。CS:代码段寄存器,用来存放可执行的程序代码。DS:数据段寄存器,用来存放参加运算的操作数和运算结果。SS:堆栈段寄存器,用来存放程序当前所使用的数据段的段基址。ES:附加数据段寄存器,通常也用来存放参加运算的操作数和运算结果,典型的用法是存放经过处理后的数据。返回指令指针寄存器和标志寄存器IP:指令指针寄存器,又称程序计数器,用来存放将要取出的指令在现行代码段中的地址。F:标志寄存器,是16位寄存器,由条件标志和

控制标志两部分组成。返回————OFDFIFTFSFZF—AF—PF—CF条件标志条件标志占6位,根据算术逻辑运算结果由硬件自动设定。状态标志位如下:CF:进位标志,如最高位产生进位(或借位),CF=1。PF:奇偶标志,当结果操作数低8位中有偶数个1时,PF=1。AF:辅助进位标志,又称半进位标志。ZF:零标志,运算结果为0时,ZF=1。SF:符号标志,标志运算结果的最高位。最高位为1时,SF=1。OF:溢出标志,运算结果超出机器所能表示的数的范围就会产生溢出,OF=1。

状态标志位用来反映算术运算、逻辑运算后结果的状态,以便记录CPU的状态特征。返回控制标志控制标志占3位,由软件设定。控制标志位如下:DF:方向标志,在串处理指令中,用于控制串处理的方向。IF:中断允许标志,用来控制可屏蔽中断的标志。IF=1,允许CPU响应可屏蔽中断。该标志可由中断控制指令设置或清除。TF:陷阱标志,用于单步操作。TF=1时,每条指令执行后产生陷阱。

控制标志一经设置,便对CPU的操作产生控制作用。返回3.2.38086的存储器组织1.8086存储器的结构2.存储器的分段管理3.8086系统内存的专用区域返回1.8086存储器的结构在存储器里以字节为单位存储信息,每个存储单元有一个唯一的编号,称为地址。地址从0开始编号,习惯上用十六进制数表示。8086有20条地址线,可寻址为220=1MB,按0000~FFFFH进行编址。8086系统中把1MB存储空间分为两个512KB的存储体,其中一个包含偶数地址,另一个包含奇数地址。用A0位来区分两个存储体。存储体地址空间的分配见P37图3.5所示。返回2.存储器的分段管理8086的寻址能力为1MB,但其内部寄存器为16位,只能直接寻址64位。因此引入存储器分段的概念。即每个逻辑段最多为64KB,在段内采用16位寻址。逻辑段允许在整个存储空间内浮动,段地址分别由CS、DS、SS、ES给出。物理地址的计算公式:物理地址=段地址×16+偏移地址物理地址的计算是在CPU的总线接口部件BIU中的地址加法其中实现的。返回3.8086系统内存的专用区域在8086系统中,部分存储空间已被系统占用,用户不能再使用。00000~003FFH:存放中断向量表,1KB。B0000~B0F9FH:单色显示缓冲区,4KB。B8000~BBF3FH:彩单色显示缓冲区,16KB。FFFF0~FFFFFH:起动地址,用来存放一条无条件转移指令,转到系统的初始化程序。返回3.2.48086CPU的I/O组织8086系统有专用的IN、OUT指令,用于外设端口的寻址。I/O端口的地址空间为64KB,即0000~FFFFH。在以8086为CPU的微型机中,只使用了10为有效端口地址A9~A0,为1KB空间。其中用A9指明外设端口是否在系统板上,A9=0为系统板上512个端口,A9=1是I/O通道上的512个端口。PC/XT机系统中以占用的端口号见P40表3.2,其余的端口号用户可以占用。返回3.2.58086的引脚信号和工作模式1.最小模式和最大模式的概念2.8086的总线周期概念3.8086的引脚信号:见P42图3.8。4.最小模式5.最大模式6.8086的操作和时序7.8086的指令系统8.8086中的协处理器返回1.最小模式和最大模式的概念最大模式:指系统中包含两个或两个以上的处理器。其中一个是8086作为主处理器,其他的是协助主处理器工作的协处理器。常见的协处理器主要有8087和8089,8087主要用于数值计算,8089用作输入/输出协处理器。最小模式:指系统中只有一个处理器,这种模式也称为单处理器模式。返回2.8086的总线周期概念8086的总线周期由4个T状态组成。即T1、T2、T3、T4状态。T1状态:CPU向多路复用总线发送地址信息,并指出要寻址的内存单元地址或I/O端口地址。T2状态:CPU向总线上撤消地址,是总线低16位呈高阻态,为数据传输做好准备;总线的高4位输出总线周期的状态信息;T3状态:CPU在总线的高4位继续输出总线周期状态信号,低16位出现CPU要写出的数据或准备读入的数据;T3状态:总线周期结束。TW状态:等待状态,在T3后插入。返回4.最小模式当系统中只有一个8086CPU,把MN/引脚接向+5V时,就构成最小模式系统。最小模式下最小系统的典型配置:P45图3.7。与最小模式有关的控制信号及组合方式、功能:

见P47表3.5。返回5.最大模式把MN/引脚接地时,就构成最大工作模式。最大模式下系统的典型配置:P48图3.13。最大模式下8086的有关引脚信号、代码组合及对应操作:P49

表3.6、P50

表3.7。返回4.1概述4.1.1存储器的分类4.1.2存储器的主要性能指标4.1.3存储系统的层次结构:P66图4.1。4.1.4几种新型半导体存储器返回4.1.1存储器的分类1.按存储器与CPU的连接:内存和外存。2.按存储介质:半导体存储器、磁存储器。3.按存取方式:随机存储器、顺序存储器。4.按读/写功能:读/写存储器(RAM)、只读存储器(ROM)5.按信息的可保存性:永久性存储器、易失性存储器。返回4.1.2存储器的主要性能指标1.存储容量2.速度3.价格4.其他:如可靠性、访问方式、信息存储的永久性等。返回4.2内部存储器的组成4.2.1半导体存储器4.2.28086的存储器4.2.3虚拟存储器的概念:

虚拟存储器是在主存—辅存层次上的进一步发展和完善,是指由主存—辅存物理结构、主存—辅存间信息调度的辅助硬件和操作系统的存储管理软件所组成的存储系统。返回4.2.1半导体存储器1.半导体存储器的分类:按使用功能可分为RAM和ROM。2.半导体存储器的结构:存储体、地址译码电路、读/写电路、控制电路。3.随机存储器RAM4.只读存储器ROM返回3.随机存储器RAMRAM的特点:其中的内容可根据需要随时写入和读出,但断电后所存内容随之消失。MOS型RAM的的分类:静态RAM和动态RAM常用的静态RAM芯片:2114、2142、6116和6264等。常用的动态RAM芯片:MN4164。常用的内存条:SIMM(单列直插)和DIMM(双列直插)内存条。返回4.只读存储器ROMROM的特点:正常工作时只能读出不能写入,断电时其中内容不会丢失。常用的几种ROM:2716EPROM,2732AEPROM。掩膜型ROM:其中信息根据程序和数据对芯片进行二次光刻制成,数量少时造价很高;可编程ROM:一般由双极型电路组成,只能编程一次;可擦除可编程的ROM:即EPROM。允许用户多次擦除存于其中的信息,再存放新的数据和信息。电可擦除可编程的ROM:即E2PROM。是一种特殊的可读写的存储器。返回4.2.28086的存储器1.存储器的结构:可寻址范围1MB,地址编码范围为0000H~FFFFH。2.外部存储器寻址:地址线A0对低位存储体进行选择,总线高位允许信号对高位存储体进行选择。3.存储器的段:将1MB的地址空间划分成若干个逻辑段,每段最长为64KB。4.实际地址的产生和计算:即物理地址。5.堆栈和堆栈操作:堆栈是存储器的一个特定区域。其长度最长为64KB。栈的位置由SS和SP规定。信息的存取在栈顶进行。返回4.3存储器的连接在8086系统中,存储器不能直接与CPU相连。在最小模式中,地址信号要通过地址锁存器接向存储器;在最大模式中,除地址锁存外,还需通过总线收发器、总线控制器才能接向存储器。4.3.1存储器芯片的连接与扩展4.3.2存储器与CPU的连接返回4.3.1存储器芯片的连接与扩展1.存储器芯片位数的扩充

用位数不足的存储器芯片组成8位或16位的存储器可采用位并联的方法,即把若干个芯片并联在一起构成所需位数。方法是把各芯片的数据线分别接到数据总线的各位,而把地址线的相应位、各控制线并联在一起。具体见P77图4.8、4.9。2.存储器芯片地址的扩充用容量较小的存储器芯片组成容量较大的存储器,采用地址串联法。即把若干块小容量的芯片接在一起构成所需的容量。每个芯片的地址需经地址译码器分配。常用的有2-4、3-8译码器。具体例子见P79图4.11。返回4.3.2存储器与CPU的连接1.8086CPU的最小模式与静态RAM的连接:见P80图4.13。2.ROM与8086CPU的连接:见P80图4.14。3.连接时需要注意的问题:总线负载能力问题;CPU与存储器间的时序配合问题;合理分配内存的地址空间、各种信号线的配合与连接问题。返回4.4外部存储器4.4.1软盘和软盘驱动器4.4.2硬盘存储器4.4.3光盘存储器4.4.4优盘简介返回4.4.1软盘和软盘驱动器1.软盘:即软磁盘,常用的为3.5英寸软盘,容量为1.44MB。2.软盘驱动器:对软盘进行读、写的装置,集电、磁、光、机于一体。其结构见P82图4.15。3.软盘控制器:即软盘适配器,是实现软驱与主机间信息交换的接口。软盘控制器与软盘驱动器通过总线电缆相连接。返回4.4.2硬盘存储器

与软盘相比,硬盘存储器有存储容量大、存取速度快、可靠性高等优点。1.硬盘驱动器的结构和工作原理:目前大多数微机上安装的硬盘采用温彻斯特技术,把硬盘、读写磁头、驱动电机等组装在一起,构成硬盘驱动器。2.硬盘控制器:是CPU与硬盘驱动器之间的接口。接口标准大多采用IDE和SCSI。返回4.4.3光盘存储器1.光盘的种类:CD-ROM:只读光盘,容量一般为650MB。DVD:数字视盘,容量比CD-ROM大十几到几十倍。MO:磁光盘,是一种新型光盘。2.光盘驱动器:包括光学头、主轴旋转驱动机构、数据处理电路和控制器等。一般把数据传输速率为150KB/s称为单速。3.光盘驱动器接口:最流行的光盘接口标准是EIDE和SCSI。返回5.1寻址方式5.1.1指令格式:一般的指令格式为:操作码操作数5.1.2寻址方式返回5.1.2寻址方式

立即寻址:操作数为立即数,即操作数直接包含在指令中。寄存器寻址:操作数直接包含在寄存器中。直接寻址:操作数的有效地址直接包含在指令中的寻址方式。寄存器间接寻址:操作数在存储器中,其地址在寄存器中。变址寻址:操作数在存储器中,操作数的有效地址是基址或变址寄存器内容和指令中给定的一个位移量之和。基址变址寻址:操作数的有效地址是基址寄存器内容和变址寄存器内容再加上指令中给出的位移量。隐含寻址:即固定寻址,操作数为固定操作数。

返回5.2指令系统5.2.1数据传送指令5.2.2算术运算指令5.2.3逻辑运算指令5.2.4程序控制指令5.2.5字符串操作指令5.2.6处理器控制指令5.2.7输入输出指令返回5.2.1数据传送指令数据传送指令用来实现寄存器和存储器间的字节或字数据传送。数据传送指令MOV堆栈操作指令PUSH和POP数据交换指令XCHG换码指令XLAT地址传送指令LEA返回5.2.2算术运算指令8086提供了加、减、乘、除四类基本运算指令,可进行字节、字、双字运算,也可以是有符号数、无符号数的运算。为实现十进制运算,还设置了调整指令。1.二进制算术运算指令2.十进制算术运算指令3.移位操作指令返回1.二进制算术运算指令(1)加法指令(2)减法指令(3)乘法指令(4)除法指令返回(1)加法指令不带进位的加法指令ADD带进位的加法指令ADC增1指令INC返回(2)减法指令不带借位的减法指令SUB带借位的减法指令SBB减1指令DEC求补指令NEG比较指令CMP返回(3)乘法指令无符号数乘法指令MUL有符号数乘法指令IMUL返回(4)除法指令无符号数除法指令DIV有符号数除法指令IDIV返回2.十进制算术运算指令压缩BCD码加法调整指令DAA非压缩BCD码加法调整指令AAA压缩BCD码减法调整指令DAS非压缩BCD码减法调整指令AAS非压缩BCD码乘法调整指令AAM非压缩BCD码除法调整指令AAD返回3.移位操作指令算术或逻辑左移指令SAL/SHL算术或逻辑右移指令SAR/SHR不带进位的循环移位指令ROL/ROR带进位的循环移位指令RCL/RCR返回5.2.3逻辑运算指令逻辑与运算指令AND逻辑或运算指令OR逻辑移或运算指令XOR逻辑非运算指令NOT逻辑测试指令TEST返回5.2.4程序控制指令1.转移指令2.循环控制指令3.子程序调用与返回指令返回1.转移指令无条件转移指令JMP:分段内转移和段间转移条件转移指令:分为检测某一标志位的条件转移指令(见P106表5.1)、无符号数的条件转移指令(见P107表5.2)、有符号数的条件转移指令(见P107表5.3)、测试CX内容的条件转移指令。返回2.循环控制指令本组指令也具有条件转移性质,它使用CX做计数器,来作为循环控制条件,实现条件转移。LOOP指令LOOPZ/LOOPE指令LOOPNZ/LOOPNE指令具体应用参见第六章循环程序设计举例。返回3.子程序调用与返回指令子程序调用指令CALL:可分为段内直接/间接调用、段间直接/间接调用。子程序返回指令RET返回5.2.5字符串操作指令串是一组由存储器中连续存放的字节、字或双字组成的序列。串操作就是对这一序列字或字节进行的某种相同操作。1.串操作指令2.重复前缀指令返回1.串操作指令串传送指令(MOVSB、MOVSW)取串元素指令(LODSB、LODSW)存串元素指令(STOSB、STOSW)串比较指令(CMPSB、CMPSW)串搜索指令(SCASB、SCASW)串输入指令(INSB、INSW)串输出指令(OUTSB、OUTSW)返回2.重复前缀指令为了对字符串重复处理,特设置了一组专用的重复前缀指令。使用此指令时,必须先将重复次数送入CX中,每执行一串操作指令,CX内容减1,直到CX=0为止。重复前缀指令REP相等重复前缀指令REPE/REPZ不等重复前缀指令REPNE/REPNZ返回5.2.6处理器控制指令处理器控制指令用于控制CPU的动作、设定标志位的状态等,实现对CPU的管理。标志操作指令CLC、STC、CLD、STD、CLI、STI、CMC。空操作指令NOP外同步指令:使CPU与外部事件同步,包括HLT、WAIT、ESC、LOCK等。返回6.1汇编语言的基本语法6.1.1语句类别:汇编语言所使用的语句可分为三种:指令语句、伪指令语句、宏指令语句。6.1.2语句结构6.1.3语句中的数据项6.1.4汇编语言伪指令返回6.1.3语句中的数据项1.标识符2.保留字3.表达式4.地址表达式返回6.1.4汇编语言伪指令1.符号定义伪指令2.数据定义伪指令3.段定义伪指令4.模块定义伪指令5.设置段内偏移地址伪指令6.过程定义伪指令返回6.2汇编语言程序结构1.汇编语言程序的一般结构2.IBM—PC中程序正确返回DOS问题返回6.3系统功能调用系统功能调用含87个子程序,每个子程序对应一个功能号。1.01H功能调用2.02H功能调用3.05H功能调用4.09H功能调用5.0AH功能调用6.4CH功能调用返回6.4汇编语言程序设计6.4.1顺序程序设计:使构成程序的三种基本结构之一,是最简单的程序或程序块,由若干语句线性组成。6.4.2分支程序设计:根据给定条件进行判定,进而做出相应处理。其结构见P132图6.2。6.4.3循环程序设计:结构示意见P138图6.7。6.4.4子程序设计返回6.4.4子程序设计1.子程序的结构2.设计时应解决的几个问题3.子程序的嵌套:其示意图见P149图6.9。4.递归子程序可重入子程序返回7.1I/O接口概述7.1.1I/O接口的一般结构7.1.2一般I/O接口的基本功能7.1.3一般I/O接口的操作过程返回7.1.1I/O接口的一般结构一个简单的外设结构框图见P157图7.1。通过一个外设接口与外设之间交换的信息主要有三类,分别为:数据信息;状态信息;控制信息。●以上三种信息应当分别传送。

返回7.1.2一般I/O接口的基本功能一般I/O接口应举有一下基本功能:地址译码;数据缓冲及锁存;信息转换;对CPU的命令进行译码并提供状态信息;地址译码定时和控制。返回7.1.3一般I/O接口的操作过程一般I/O接口的操作过程为:

输入操作:CPU将指定外设的端口地址置于地址总线,以选定一个端口;

CPU等待数据总线上出现有效的数据;

CPU从数据总线上取数据,并放入累加器。

输出操作:CPU将指定外设的端口地址置于地址总线,以选定一个端口;

CPU将要输出的数据放在数据总线上;

CPU等待数据传送完毕的回答信号。返回7.2CPU与外设之间数传送的方式

在计算机的操作过程中,最基本和最大量的操作就是数据传递。且主要是在CPU、存储I/O接口之间进行。通常采用以下三种I/O传送方式:7.2.1程序控制传送方式7.2.2中断传送方式7.2.3DMA(直接存储器存取)传送方式返回7.2.1程序控制传送方式程序控制传送方式是指CPU与外设之间的数据交换在程序控制的方式下进行。又可以分为:

◆无条件传送(同步传送):是最简单的传送方式,主要用于外设工作时间为已知的场合。◆有条件传送(查询传递):又称为“异步传送方式”。当CPU与外设工作不同步时,采用此方式。注意采用此方式传送前,CPU必须先对外设进行状态检测。返回7.2.2中断传送方式中断传送方式的特点是允许CPU和I/O设备并行工作。仅当I/O设备数据准备就绪后才向CPU发出中断请求信号。CPU将暂停执行主程序,而转去执行为外设服务的中断服务程序。处理完毕后,在返回到被中断了的主程序继续执行。返回7.2.3DMA(直接存储器存取)传送方式

DMA传送方式是一种不需要CPU干预也不需要软件接入的高速传递方式。在DMA传送方式中,对数据的传送过程进行控制的是DMAC(DMA控制器)。在微机中实现DMA功能的是8237A芯片,是一种高性能的可编程DMA控制器。返回7.3中断技术中断技术源于输入输出,是计算机内部管理的一个重要手段。7.3.1中断概述7.3.2中断处理过程7.3.3中断优先权返回7.3.1中断概述中断技术是计算机应用中的一项重要技术,是计算机内部管理的一个重要手段。◆中断的基本概念◆中断的分类返回中断的基本概念中断:指CPU暂停正在运行的程序而转去执行断服务程序。当处理结束后,返回到主程序被中断处继续执行。●中断源:指引起中断的事件或发出中断请求的来源。通常有外部设备、实时时钟、故障源、数据通道中断以及程序自愿中断。●中断系统:指为实现中断功能而设置的各种硬件和软件。其中包括中断逻辑控制和管理中断的相应指令。返回中断的分类按中断处理方式分:可分为程序中断和简单中断。按中断产生的方式分:可分为自愿中断和强迫断。按引起中断发生的位置分:可分为内部中断和外部中断。返回7.3.2中断处理过程

中断处理过程是硬件和软件编程相合的过程。有些通过硬件实现,有些则需通过编程实现。各种微型机的中断系统是不相同的,但实现中断的过程都一样。一个完整的中断处理过程包括:中断请求中断响应中断处理中断返回返回中断请求当外设需要CPU为其服务时,应向CPU发出“中断请求”信号。发出中断请求信号必须满足以下条件:

◆外设已处于“就绪”状态;◆外设通过接口电路在CPU的中断请求输入引脚上输入一个请求信号;◆该中断源未被屏蔽。返回中断响应CPU每次只能响应一个中断源的请求。响应的中断是根据中断优先权级别的高低来决定的。CPU响应外部中断请求的条件为:◆现行指令周期内无总线请求;◆中断允许标志IF=1;◆现行指令执行完毕。返回中断处理中断处理要完成的操作如下:◆关中断;◆保存断点;◆形成中断入口地址;◆执行中断服务程序;◆恢复现场。返回中断返回在中断返回前,要用指令开中断,以便CPU再次响应中断。执行返回指令IRET。IRET指令具有弹出断点地址送CS和IP以及恢复标志寄存器内容的功能。返回7.3.3中断优先权当系统中有多个中断源时,需要考虑优先权问题。确定中断源的优先权一般采用以下方法:

◆软件查询优先方式:是最简单的中断优先处理方式,接口电路见P172图5.9。◆硬件优先权排队电路。返回硬件优先权排队电路简单硬件方式:链式优先权排队电路(菊花链法),逻辑框图见P173图7.10。专用硬件方式:可编程中断控制器,是当前微机系统中解决中断优先权管理的常用办法。具体内容见本章第五节。返回7.48086/8088的中断系统7.4.18086的中断结构7.4.2内部中断—软中断7.4.3外部中断—硬中断7.4.4各类中断的优先权及中断响应的处理流程返回7.4.4各类中断的优先权8086系统中,中断优先权的排队次序由高到低依次为:除法出错;INTn;INTO;NMI;INTR;单步中断。内部中断优先级最高。返回7.4.18086的中断结构1.

中断源的分类

中断源可以分为软件中断和硬件中断。◆硬件中断由外部硬件产生,也称为外部中断。◆软件中断由CPU根据软件的某些指令或软件对标志寄存器某个标志位的设置产生,也称为内部中断。2.中断向量表

◆中断服务程序的入口地址被称为中断向量。◆存放的一段内存空间被称为中断向量表。返回7.4.2内部中断—软中断在8086系统中,通过执行中断指令或由CPU本身启动的中断称为内部中断,也称软中断。内部中断的类型内部中断的处理过程返回内部中断的类型1.0型中断——除法出错中断,中断类型号00H。2.1型中断——单步中断,中断类型号01H。3.3型中断——断点中断,中断类型号03H。4.4型中断——溢出中断,中断类型号04H。5.INTn指令中断——内部软件中断,中断类型由指令中的n(中断类型码)指定。返回内部中断的处理过程1.将类型码×4作为向量表指针;2.将CPU标志寄存器入栈;3.清除IF和TF标志;屏蔽新的INTR中断和单步中断;4.保存断点;5.从中断向量表中取中断服务程序的入口地址分别送IP和CS中;6.按新地址执行中断服务程序。返回7.4.3外部中断—硬中断外部中断是由外部硬件中断源引起的中断,也称为硬件中断。1.外部中断的响应及中断响应周期时序:见P177图7.13。2.外部中断的处理过程:与软中断的处理过程相同。注:8086CPU为外设提供两条中断信号线:NMI——非屏蔽中断线,可引入非屏蔽中断。INTR——可屏蔽中断线,可引入可屏蔽中断。返回7.58295A可编程中断控制器

8295A是一个可编程的中断控制器,用于管理可屏蔽中断的中断请求。7.5.18295A的结构、功能及工作原理7.5.28295A的工作方式7.5.38295A的编程7.5.4由8295A组成的主从式中断系统7.5.58295A的级连使用实例返回7.5.18295A的结构、功能

及工作原理1.

8295A的结构:◆内部结构:见P179图7.15。◆引脚:见P180图7.16。2.8295A的功能:8295A具有8级优先权控制,通过级联可扩展至64级。◆每级中断都可屏蔽或允许;◆在中断响应周期,可提供相应的中断向量号;◆工作方式可通过编程进行选择。3.工作过程:返回7.5.28295A的工作方式8295A具有非常灵活的中断管理方式,可满足用户各种不同的要求。中断嵌套方式中断优先级循环方式中断屏蔽方式中断结束方式返回中断嵌套方式全嵌套方式:8259A最常用和最基本的一种工作方式特殊全嵌套方式:当8259A工作在级联情况下时,需要特殊的全嵌套方式,一般用在级联系统中的主片。返回中断优先级循环方式自动循环方式:适用于系统中多个中断源的优先级相等的情况。特殊循环方式:用于中断源的优先权需要任意改变的情况。返回中断屏蔽方式普通屏蔽方式:用OCW1将IMR寄存器的某一位或几位置1,可将响应的中断请求屏蔽掉。特殊屏蔽方式:可使优先级低的中断也能得到响应。返回中断结束方式自动中断结束方式:用于不要求中断嵌套的情况。非自动中断结束方式:用于全嵌套工作方式。特殊中断结束方式:工作在特殊嵌套工作方式时无法确定当前正在处的是哪一级中断,此时须采用此种结束方式。返回7.5.38295A的编程

8295A的编程分为两部分。1.初始化编程:由CPU向8259A送2~4个字节的初始化命令字(ICW1~ICW4),要求一次写入,顺序不可颠倒。2.工作方式编程:由CPU向8259A送3个字节的工作命令字(OCW1~OCW3),可在ICW后的任何时间写入。返回初始化命令字ICWICW1——基本方式初始化命令字ICW2——中断类型码初始化命令字ICW3——主片/从片初始化命令字ICW4——方式控制初始化命令字注:系统中的每片8259A都要进行初始化,且ICW1~ICW4写入的次序固定不变。对每片8259A,ICW1和ICW2必须设置,其他则根据需要设置。ICW1写入偶地址端口,其他写入奇地址端口。返回工作命令字OCW8259A有3个工作命令字,它们都需在初始化后在应用程序中进行设置。编程时在次序上没有严格要求,且可根据需要多次进行设置。OCW1——中断屏蔽操作命令字OCW2——优先级循环和中断结束方式操作命令字OCW3——特殊屏蔽设置和查出读出操作命令字注:OCW1必须写入奇地址端口,其他写入偶地址端口。返回8.1.1总线概述总线是指计算机系统中的各部件之间、设备与设备之间传递信息的一组公用的连线,是若干互连信号线的集合。总线技术是当代计算机设计与制造中一项非常重要的技术,也是构成计算机应用系统的重要技术。返回8.1.2总线的分类按传送信息的类别可分为:地址总线、数据总线、控制总线。按在微机结构中所处的位置的不同可分为:片内总线、芯片总线、系统总线、外部总线。返回8.1.3信息在总线上的传送方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论