《微机原理与应用复习课.ppt》由会员分享,可在线阅读,更多相关《微机原理与应用复习课.ppt(53页珍藏版)》请在三一办公上搜索。
1、微机原理与应用复习课,第一章 概述计算机的组成-冯诺依曼结构,微型计算机硬件系统组成,微处理器:进行算数运算和逻辑运算。,存储器:存储程序、数据、符号等,I/O接口:使外设与微机相连。,提问:,计算机 由哪几部分组成?微处理器、微型计算机和微型计算机系统三者之间有什么不同?,CPU结构,可以进行算数与逻辑运算可以保存少量数据能对指令进行译码并执行指令能与存储器、外设交换信息提供系统所需的定时和控制可响应其它部件发来的中断请求,CPU功能:,提问:,CPU在内部结构上由哪几部分组成?CPU应具备什么功能?累加器和其他通用寄存器相比有何不同?,第二章 8086/8088处理器,Intel 8086
2、微处理器结构(重点),8086的内部结构成两部分:总线接口部件BIU:总线接口单元BIU,负责控制存贮器读写。执行部件EU:执行单元EU从指令队列中取出指令并执行。特点:BIU与EU两个单元相互独立,分别完成各自操作,还可以并行执行,实现指令预取(指令读取和执行的流水线操作)取指令和执行指令分开进行,提高了速度。,2.2.1 Intel 8086微处理器结构:8086的内部结构,16位标志寄存器标志(Flag)用于反映指令执行结果16位字利用了9位 标志分两类:状态标志(6位):反映刚刚完成的操作结果情况。控制标志(3位):在某些指令操作中起控制作用。,程序设计需要利用标志的状态!,2.2.1
3、 Intel 8086微处理器结构:执行部件EU,提问:,8086的总线接口部件有那几部分组成?8086的执行部件有什么功能?由那几部分组成?8086/8088内部有哪些通用寄存器?,总线接口单元和执行单元的动作管理,当8086的指令队列有两个空字节,BIU自动取指令到指令队列中;执行部件EU准备执行一条指令时,它从BIU的指令队列取指令,然后执行;指令队列已满,BIU与EU又无总线请求时,总线接口部件进入空闲状态。执行转移指令、调用指令、返回指令时,BIU自动清除指令队 列,然后从新地址取指令,并立即送给EU,然后再从新单元开始,从新填满队列机构。8086CPU的特点:BIU与EU是分开的,
4、取指令与执行指令可以重叠。提高执行速度。,2.2.1 Intel 8086微处理器结构:BIU和EU单元的动作管理,提问:,8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?8086CPU执行转移指令时,指令队列寄存器内容如何变化?,8088CPU有20条地址线最大可寻址空间为2201MB物理地址范围从00000HFFFFFH8088CPU将1MB空间分成许多逻辑段(Segment)每个段最大限制为64KB段地址的低4位为0000B这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址,2.2.1 Intel 8086微处理器结构:存储器的分段管
5、理,8088CPU存储系统中,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H FFFFFH分段后在用户编程时,采用逻辑地址,形式为 段基地址:段内偏移地址,分隔符,物理地址 14700H逻辑地址 1460H:100H,2.2.1 Intel 8086微处理器结构:存储器的分段管理,一个物理地址可以有多个逻辑地址将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址物理地址=16d段地址+偏移地址例5:逻辑地址 1460:0100H 物理地址 14700H,2.2.1 Intel 8086微处理器结构:存储器的逻辑地址,提问:,8088CPU最大可寻址空间为多
6、少?存储器的物理地址是唯一的,用逻辑地址表示一个物理地址,逻辑地址是唯一的吗?一个段最大寻址空间为多少?,提问,存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有20位地址线的CPU,其最大物理地址为多少?,存储器分段小节:程序的指令序列必须安排在代码段程序使用的堆栈一定在堆栈段程序中的数据默认是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段数据的存放比较灵活,实际上可以存放在任何一种逻辑段中,2.2.1 Intel 8086微处理器结构:如何分配各个逻辑段,提问:,代码段地址由CPU的哪两个寄存器确定?堆栈段地址由CPU的哪两个寄存器确定?,第3章 8
7、086指令系统,了解微处理器基本结构、8088/8086的功能结构掌握8088/8086的寄存器结构、存储器结构和寻址方式熟悉汇编语言的语句格式,掌握8088/8086基本指令:数据传送:MOVXCHGXLAT、PUSHPOP、LEA加减运算:ADDSUB、ADCSBB、CMP、INCDEC AAA/DAA、AAS/DAS位 操 作:ANDORXORNOTTEST、SHLSHRSAR、ROLRORRCLRCR串 操 作:MOVSB、CMPSB、SCASB控制转移:JMP、JZ/JNZ、JC/JNC、JA/JNA、JB/JNB、JG/JL、LOOP、CALLRET、INT n,例1、请指出下列指
8、令源操作数是什么寻址方式?(l)MOV CL,20H(2)MOV BPDI,CX(3)LEA BX,20HBXSI 2、解释下列指令的含义:LEA AX,2344H LDS DI,2344H 假设:DS=1000H,(12344H)=082CH,(12346H)=6F78H 执行上面两条指令后,DS=DI=AX=,例3、下面这些指令哪些是正确的?哪些是错误的?如是错误的,请说明原因。1)MOV DS,AX()2)MOVBX,1000()3)PUSHCS()4)POP CS()5)IN BX,DX()6)MOV 1000H,AX()7)MOV AX,BL()8)OUT 300H,AX()9)OU
9、T 20H,AL(),例4:89+75=164 MOV AL,89H MOV BL,75H ADD AL,BL;(AL)=0FEH,AF=0,CF=0 DAA;(AL)=64H,CF=1例5:假定DL=10111001B,CF=1,试确定下列各条指令单独执行后DH的值。(1)SHL DH,1(2)SAR DH,1(3)ROL DH,1,第4章 汇编语言程序设计,熟悉常见程序设计问题多精度运算查表(查代码、特定值等)、ASCII和BCD代码转换;数据范围判断(09、AZ、az)、字母大小写转换字符串传送、比较等操作求最小最大值数据求和、统计字符个数,伪指令,OFFSETSEG/ORGDB/DW/
10、DDPTR SEGMENT/ENDS/END/ASSUMEFAR/NEAR例:ORG 1000H BUF DB 12H,56H,78H N EQU$-BUF MOV BX,OFFSET MOV AL,BUF+1 MOV DX,WORD PTR BX MOV CX,N,例1:将DAT1开始的10个字节传送到DAT2开始单元。MOV SI,OFFSET DAT1;SI指向源串地址MOV DI,OFFSET DAT2;DI指向源串地址MOV CX,10;置计数器 CLD;清方向标志 REP MOVSB;将源地址的10个字传送到目的地址单元例2:假设将1000H:2000H开始的10个数据传送到100
11、0H:2005H开始单元,编程。MOV SI,2000HMOV DI,2005HADD SI,10-1ADD DI,10-1MOV CX,10STD REP MOVSB,例3.从地址为BLOCK开始单元,存放100个字节的字符串,找出第一个字符$(ASCII码24H),将$的第一个地址存入BX中,否则将BX清零.MOV DI,1000H;送目标串首地址 MOV CX,256 CLD;清方向标志 MOV AL,$REPNZ SCANB;AL-DI JZ FOUND;找到$,转 MOV BX,0 JMP STOPFOUND:DEC DI;退回到$所在地址 MOV BX,DI;$所在地址送BXSTO
12、P:HLT,例4:求和Y=A1+A2+.+A100Ai是字变量。设CX:计数器,循环次数BX:数据指针DX,AX:存和XOR AX,AX;清AXMOV BX,OFFSET TABLE MOV CX,4 CLC LP:ADD AX,BX;求和 JNC DON INC DX CLC DON:INC BX INC BX;指向下一个数 LOOP LP;未加完,继续 MOV YAL,AX;存和 MOV YAH,DX,处理器总线时序,80868088 CPU的地址总线有多少位?其寻址范围是多少?8086/8088 有两种工作方式,它们是通过什么方法来实现?8086和8088是怎样解决地址线和数据线的复用问
13、题的?ALE信号何时处于有效电平?总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?,CPU与外设的输入输出方式,CPU和输入/输出设备之间传送的信息有哪几类?一般的IO接口电路安排有哪三类寄存器?它们各自的作用是什么?在8086/8088系统中,用哪种方法对I/O端口进行编址?条件传送方式的工作原理是怎样的?主要用在什么场合?画出条件传送(查询)方式输出过程的流程图。查询式传送方式有什么优缺点?,中断,CPU响应可屏蔽中断的条件(1)、无总线请求(2)、CPU允许中断:IF=1(3)、CPU执行完当前指令CPU响应中断要自动完成的任务(1)关中断(2)保护断点(IP,CS
14、,FLAG入栈)(3)给中断服务程序的入口地址,可屏蔽中断的响应过程:,响应条件:TF=1,无总线请求,当前指令结束(1)读中断类型码(2)将标志寄存器FLAG的值推入堆栈(3)清中断允许标志IF和单步中断TF(4)保护断点,将CS、IP推入堆栈(5)得到中断向量(6)执行中断服务程序,8086中断,共256个类型号一个中断源对应一个类型号中断向量:中断服务程序的入口地址(cs,ip)中断向量表:将所有中断向量集中放在一起.中断向量表:放在内存地址0单元开始的单元:00000H 03FFFH中断向量指针:中断类型号*4=中断向量最低字节指针,中断向量的装入,例:类型号为20H的中断服务程序入口
15、符号地址为INT-5,中断向量的装入:CLIPUSH DSXOR AX,AX MOV DS,AXMOV AX,OFFSET INT-5MOV WORD PTR 080H,AXMOV AX,SEG INT-5MOV WORD PTR 082H,AXPOP DSSTI,中断处理器8259A,8259A的工作方式,主要工作方式:(1)中断请求触发方式(2)屏蔽中断源方式(3)中断优先权设置方式(4)中断结束(EOI)方式(5)连接系统总线方式(6)中断查询方式(7)级联方式,2023/11/13,微机原理及应用,39,ICW1格式,D41,A00表示设置的是ICW1注意:A00,表示输入8259A低
16、地址端口;,2023/11/13,微机原理及应用,40,ICW2格式,ICW2用于设置中断类型码。注意:A01,表示输入8259A高地址端口。,2023/11/13,微机原理及应用,41,ICW3格式,ICW3是在级联方式下设置的初始化命令字。当ICW1中D11,单片使用,不需要ICW3;当ICW1中D10,表示8259A工作于级联方式,必须设置ICW3。,2023/11/13,微机原理及应用,42,ICW4格式,当ICW1的D0=1,需要设置ICW4。,D7 D6 D5=000 ICW4的标志,SFNM1,用于指明是否选择特殊全嵌套方式,一般在使用多片8259A中使用,主片即选用特殊全嵌套方
17、式。,2023/11/13,微机原理及应用,43,OCW1,OCW1的功能用来动态地设置中断源的屏蔽状态。,CPU也可以从8259A的高地址端口读取中断屏蔽寄存器IMR的内容。,2023/11/13,微机原理及应用,44,OCW2,D4D300:可作为OCW2的标志位。D5:即EOI,中断结束命令位。,OCW2的功能 就是用于控制中断结束,优先权循环等操作方式。,2023/11/13,微机原理及应用,45,OCW3,OCW3用于控制8259A的运行方式。包括设置或撤销特殊屏蔽方式和查询方式,可读出8259A的中断请求寄存器IRR,中断服务寄存器ISR等。,P1,查询,D4D301OCW3的标志
18、,8253定时/计数,8253与CPU相连的信号:,8253控制字格式,8253的工作模式:6种8253初始化方法控制字计数初值:8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么?定时/计数器芯片Intel 8253占用几个端口地址?各个端口分别对应什么?,例题:使0号定时器,工作在方式3,计数初值N=1000,二进制计数.试写出8253初始化程序段.8253端口地址:340H,341H,342H,343HMOV AL,10000110B;2号定时器,方式3MOV DX,343HOUT DX,ALMOV AX,1000 MOV DX,340H OUT DX,AL;0号数据口 MOV AL,AHOUT DX,AL,可编程并行接口8255A,并行接口芯片8255与CPU接口有哪些信号线,每个信号的用途是什么?8255占用几个端口地址?各个端口分别对应什么?端口C可以分为两组吗?,1.方式控制字,2.端口C置1/0控制字,1=置10=置0,端口C置1/0控制字标志,0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7,图、端口C置1/0控制字,8255A的3种基本工作方式:方式0:基本的输入/输出方式方式1:选通的输入/输出方式方式2:双向的传输方式,