微机原理与应用复习课.ppt_第1页
微机原理与应用复习课.ppt_第2页
微机原理与应用复习课.ppt_第3页
微机原理与应用复习课.ppt_第4页
微机原理与应用复习课.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与应用复习课,第一章 概述 计算机的组成-冯诺依曼结构,微型计算机硬件系统组成,微处理器:进行算数 运算和逻辑运算。,存储器:存储程序、 数据、符号等,I/O接口:使外设 与微机相连。,提问:,计算机 由哪几部分组成? 微处理器、微型计算机和微型计算机系统三者之间有什么不同?,CPU结构,可以进行算数与逻辑运算 可以保存少量数据 能对指令进行译码并执行指令 能与存储器、外设交换信息 提供系统所需的定时和控制 可响应其它部件发来的中断请求,CPU功能:,提问:,CPU在内部结构上由哪几部分组成?CPU应具备什么功能? 累加器和其他通用寄存器相比有何不同?,第二章 8086/8088处理器,Intel 8086微处理器结构(重点),8086的内部结构成两部分: 总线接口部件BIU: 总线接口单元BIU,负责控制存贮器读写。 执行部件EU: 执行单元EU从指令队列中取出指令并执行。 特点: BIU与EU两个单元相互独立,分别完成各自操作,还可以并行执行,实现指令预取(指令读取和执行的流水线操作)取指令和执行指令分开进行,提高了速度。,2.2.1 Intel 8086微处理器结构: 8086的内部结构,16位标志寄存器 标志(Flag)用于反映指令执行结果 16位字利用了9位 标志分两类: 状态标志(6位):反映刚刚完成的操作结果情况。 控制标志(3位):在某些指令操作中起控制作用。,程序设计需要利用标志的状态!,2.2.1 Intel 8086微处理器结构:执行部件EU,提问:,8086的总线接口部件有那几部分组成? 8086的执行部件有什么功能?由那几部分组成? 8086/8088内部有哪些通用寄存器?,总线接口单元和执行单元的动作管理,当8086的指令队列有两个空字节,BIU自动取指令到指令队列中; 执行部件EU准备执行一条指令时,它从BIU的指令队列取指令,然后执行; 指令队列已满,BIU与EU又无总线请求时,总线接口部件进入空闲状态。 执行转移指令、调用指令、返回指令时,BIU自动清除指令队 列,然后从新地址取指令,并立即送给EU,然后再从新单元开始,从新填满队列机构。 8086CPU的特点:BIU与EU是分开的,取指令与执行指令可以重叠。提高执行速度。,2.2.1 Intel 8086微处理器结构:BIU和EU单元的动作管理,提问:,8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化?,8088CPU有20条地址线 最大可寻址空间为2201MB 物理地址范围从00000HFFFFFH 8088CPU将1MB空间分成许多逻辑段(Segment) 每个段最大限制为64KB 段地址的低4位为0000B 这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址,2.2.1 Intel 8086微处理器结构:存储器的分段管理,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最大可寻址空间为多少? 存储器的物理地址是唯一的,用逻辑地址表示一个物理地址,逻辑地址是唯一的吗? 一个段最大寻址空间为多少?,提问,存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的? 一个具有20位地址线的CPU,其最大物理地址为多少?,存储器分段小节: 程序的指令序列必须安排在代码段 程序使用的堆栈一定在堆栈段 程序中的数据默认是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段 数据的存放比较灵活,实际上可以存放在任何一种逻辑段中,2.2.1 Intel 8086微处理器结构:如何分配各个逻辑段,提问:,代码段地址由CPU的哪两个寄存器确定? 堆栈段地址由CPU的哪两个寄存器确定?,第3章 8086指令系统,了解微处理器基本结构、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、请指出下列指令源操作数是什么寻址方式? (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) MOV BX,1000 ( ) 3) PUSH CS ( ) 4) POP CS ( ) 5) IN BX,DX ( ) 6) MOV 1000H,AX ( ) 7) MOV AX,BL ( ) 8) OUT 300H,AX ( ) 9) OUT 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)、 字母大小写转换 字符串传送、比较等操作 求最小最大值 数据求和、 统计字符个数,伪指令,OFFSET SEG/ORG DB/DW/DD PTR SEGMENT/ENDS/END/ASSUME FAR/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个数据传送到1000H:2005H开始单元,编程。 MOV SI,2000H MOV DI,2005H ADD SI,10-1 ADD DI,10-1 MOV CX,10 STD 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 STOP FOUND: DEC DI ;退回到$所在地址 MOV BX,DI ;$所在地址送BX STOP: HLT,例4: 求和Y=A1 + A2 + . + A100 Ai是字变量。 设CX: 计数器,循环次数 BX: 数据指针 DX, AX: 存和 XOR AX, AX ;清AX MOV 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是怎样解决地址线和数据线的复用问题的? ALE信号何时处于有效电平? 总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?,CPU与外设的输入输出方式,CPU和输入/输出设备之间传送的信息有哪几类? 一般的IO接口电路安排有哪三类寄存器?它们各自的作用是什么? 在8086/8088系统中,用哪种方法对I/O端口进行编址? 条件传送方式的工作原理是怎样的?主要用在什么场合? 画出条件传送(查询)方式输出过程的流程图。 查询式传送方式有什么优缺点?,中断,CPU响应可屏蔽中断的条件 (1)、无总线请求 (2)、CPU允许中断:IF=1 (3)、CPU执行完当前指令 CPU响应中断要自动完成的任务 (1)关中断 (2)保护断点(IP,CS,FLAG入栈) (3)给中断服务程序的入口地址,可屏蔽中断的响应过程:,响应条件:TF=1,无总线请求,当前指令结束 (1)读中断类型码 (2)将标志寄存器FLAG的值推入堆栈 (3)清中断允许标志IF和单步中断TF (4)保护断点,将CS、IP推入堆栈 (5)得到中断向量 (6)执行中断服务程序,8086中断,共256个类型号 一个中断源对应一个类型号 中断向量:中断服务程序的入口地址(cs,ip) 中断向量表:将所有中断向量集中放在一起. 中断向量表:放在内存地址0单元开始的单元: 00000H 03FFFH 中断向量指针: 中断类型号*4=中断向量最低字节指针,中断向量的装入,例:类型号为20H的中断服务程序入口符号地址为INT-5,中断向量的装入: CLI PUSH DS XOR AX,AX MOV DS,AX MOV AX,OFFSET INT-5 MOV WORD PTR 080H,AX MOV AX,SEG INT-5 MOV WORD PTR 082H,AX POP DS STI,中断处理器8259A,8259A的工作方式,主要工作方式: (1)中断请求触发方式 (2)屏蔽中断源方式 (3)中断优先权设置方式 (4)中断结束(EOI)方式 (5)连接系统总线方式 (6)中断查询方式 (7)级联方式,2019/8/3,微机原理及应用,39,ICW1格式,D41,A00表示设置的是ICW1 注意: A00,表示输入8259A低地址端口;,2019/8/3,微机原理及应用,40,ICW2格式,ICW2用于设置中断类型码。 注意: A01,表示输入8259A高地址端口。,2019/8/3,微机原理及应用,41,ICW3格式,ICW3是在级联方式下设置的初始化命令字。 当ICW1中D11,单片使用,不需要ICW3; 当ICW1中D10 ,表示8259A工作于级联方式,必须设置ICW3。,2019/8/3,微机原理及应用,42,ICW4格式,当ICW1的D0 =1,需要设置ICW4。,D7 D6 D5 = 000 ICW4的标志,SFNM1,用于指明是否选择特殊全嵌套方式,一般在使用多片8259A中使用,主片即选用特殊全嵌套方式。,2019/8/3,微机原理及应用,43,OCW1,OCW1的功能用来动态地设置中断源的屏蔽状态。,CPU也可以从8259A的高地址端口读取中断屏蔽寄存器IMR的内容。,2019/8/3,微机原理及应用,44,OCW2,D4D300:可作为OCW2的标志位。 D5: 即EOI,中断结束命令位。,OCW2的功能 就是用于控制中断结束,优先权循环等操作方式。,2019/8/3,微机原理及应用,45,OCW3,OCW3用于控制8259A的运行方式。 包括设置或撤销特殊屏蔽方式和查询方式, 可读出8259A的中断请求寄存器IRR ,中断服务寄存器ISR等。,P1,查询,D4D301 OCW3的标志,8253定时/计数,8253与CPU相连的信号:,8253控制字格式,8253的工作模式:6种 8253初始化方法 控制字 计数初值: 8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么? 定时 /计数器芯片Intel 8253占用几个端口地址?各个端口分别对应什么?,例题:使0号定时器,工作在方式3,计数初值N=1000,二进制计数.试写出8253初始化程序段. 8253端口地址:340H,341H,342H,343H MOV AL,10000110B ;2号定时器,方式3 MOV DX,343H OUT DX,AL MOV AX,1000 MOV DX,340H OUT DX,AL ; 0号数据口 MOV AL

温馨提示

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

评论

0/150

提交评论