微机原理期末考试复习(共14页)_第1页
微机原理期末考试复习(共14页)_第2页
微机原理期末考试复习(共14页)_第3页
微机原理期末考试复习(共14页)_第4页
微机原理期末考试复习(共14页)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上考试时间:6月18日(星期二)下午2:304:30考试地点另行通知题型示例:一、填空题(20分,每空1分)I/O端口编址方式有 统一编址 和 独立编址 两种,8086/8086系统中I/O端口采用 独立 编址方式。二、选择题(10分)8086/8086CPU可寻址访问的最大I/O空间为 D 。 A、1KB B、64KB C、640KB D、1MB考察知识点:1. 存储器操作数寻址方式的分类。1、直接寻址方式2、寄存器间接寻址方式3、寄存器相对寻址方式4、基址变址寻址方式5、相对基址变址寻址方2. 微处理器的定义。微处理器 是微型计算机的运算及控制部件,也称中央处理单元

2、(CPU)。它本身不构成独立的工作系统,因而它也不能独立的执行程序。通常,微处理器由算术逻辑部件(ALU),控制部件,寄存器组和片内总线等几部分组成。3. 冯×诺依曼存储程序工作原理。存储程序和程序控制4. 微机的总线结构的好处,使用特点。包括总线定义,分类。总线是数据在计算机内从其一个部件传输到另一个部件的内部通道;微型计算机的总线包括地址总线、数据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。 总线结构对计算机的功能及其数据传播速度具有决定性的意义。5. 8086微处理器的内部结构,EU、BIU的定义和作用,流水线。执行部件EU

3、功能:负责指令的执行。(1)从指令队列中取出指令。(2)对指令进行译码,发出相应的控制信号。(3)接收由总线接口送来的数据或发送数据至接口。(4)利用内部寄存器和ALU进行数据处理。总线接口部件BIU功能: 负责CPU与存储器、I/O端口之间的数据传送。(1)取指令送到指令队列。(2)CPU执行指令时,到指定的位置取数据,并将其送至指令 要求的位置单元中。总线接口部件和执行部件不是同步工作的,它们按照以下的流水线技术原则管理:(1)每当8086的指令队列中有2个空字节,总线接口部件就会自动取指令至队列中。(2)执行部件从总线接口的指令队列前部取出指令代码,执行 该指令。(3)当队列已满,执行部

4、件又不使用总线时,总线接口部件进 入空闲状态。 (4)执行转移指令、调用指令、返回指令时,先清空队列内 容,再将要执行的指令放入队列中。6. 8086总线周期的构成,每一个T状态的主要工作。基本的存储器读、写总线周期构成。常用控制信号。总线操作:CPU通过总线完成与存储器、I/O端口之间的操作。总线周期:执行一个总线操作所需要的时间。一个基本的总线周期通常包含 4 个 T 状态,按时间的先后顺序分别称为T1、T2、T3、T4。等待时钟周期Tw,在总线周期的T3和T4之间插入,此时总线处于等待状态;空闲时钟周期Ti,在两个总线周期之间插入,此时总线处于空闲状态。指令周期:执行一条指令所需要的时间

5、,是取指令、执行指令、取操作数、存放结果所需时间的总和。用所需的时钟周期数表示。执行指令的过程中,需要从存储器或 I/O 端口读取或存放数据,所以一个指令周期通常包含若干个总线周期。例:执行ADD BX, AX 包含: 1) 取指令 存储器读周期 2) 取 DS:BX 内存单元操作数 存储器读周期 3) 存放结果到 DS:BX 内存单元 存储器写周期7. 存储器地址的译码问题。分为单译码和双译码8. 8086的寻址方式。物理地址和逻辑地址。两者之间转换。8086系统存储器采用分段管理方式。(要求很熟练)物理地址: 20 位逻辑地址: 段基址 (段寄存器的内容)16位 偏移地址(字节距离)16位

6、段 基 址 16 位 0 0 0 0+ 偏 移 地 址 16 位物 理 地 址 20 位00000H10550H250A0H2EF00H8FF00HCSSS CSDSESFFFFFH习题:已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,各段的容量均为64K,DS段有一操作数,其偏移地址=0204H,1)画出各段在内存中的分布;2)在图中指出各段首地址;3)求操作数的物理地址。解:各段分布及段首址见右图所示。操作数的物理地址为:250AH×16 + 0204H = 252A4H9. 常用指令的判断正误。指令执行结果的判断。10. 8086微处理器的内部构成。

7、8086的寄存器结构,标志寄存器中每一个标志位的含义及应用。8086复位时各寄存器的初始状态。CF(Carrv Flag):进位标志位。最高位有进位或借位时,CF1。PF(Parity Flag):奇偶校验标志位运算结果低8位中有偶数个“1”时,PF1; 有奇数个“1”时,PF 0。 AF(Auxiliary Flag):辅助进位标志位。低字节的低4位向高4位进 位或借位时,AF1。(BCD数运算)ZF(Zero Flag):全零标志位。运算结果为0时,ZF1,否则ZF 0。SF(Sign Flag):符号标志位。运算结果为正时,SF1,否则SF0。OF(Overflow Flag):溢出标志

8、位。运算过程中产生溢出时,OF 1 。 对带符号数,字节运算结果的范围为-128+127,字运算结果的范围 为-32768+32767,超过此范围为溢出。TF(Trap Flag):单步标志位。TF1时,则每执行完一条指令,就自 动产生一次内部中断,使用户能逐条跟踪程序进行调试。IF (Interrupt Flag):中断标志位 IF1时,允许CPU响应可屏蔽中断; IF0时,即使外部设备有中断申请,CPU也不响应。DF(Direction Flag):方向标志位。控制串操作中地址指针变化方向,DF0,地址指针自动增量,即由低地址向高地址进行串操作; DF1,地址指针自动减量,即由高地址向低地

9、址进行串操作。 6 0 O D I T S Z A P C 内部寄存器状 态标志寄存器IPCSDSSSES指令队列缓冲器其余寄存器0000H0000HFFFFH0000H0000H0000H空0000H11. 微处理器的指令系统。要熟悉常用的伪指令(比如如何分配存储单元)和硬指令的功能。涉及的题目包括选择题、填空题、简答题(读简单程序,说明其功能)和编程题。伪指令语句:在汇编期间进行处理,主要完成变量定义,存储器分配,指示程序开始和结束,段定义,段分配等类型:数据定义语句:DB:定义变量的类型为字节(BYTE),给变量分配字节或字节串。DB伪指令定义符后面的操作数每个占有1个字节。DW: 定义

10、变量的类型为字(WORD)。DW伪指令定义符后面的操作数每个占有1个字,即2个字节。在内存中存放时,低字节在低地址,高字节在高地址。DD:定义变量的类型为双字(DWORD)。DD后面的操作数每个占有2个字,即4个字节。标号赋值语句:EQU:【功能】给变量、标号、常数、指令、表达式等定义一个符号名,一经定义在同一个程序模块中不能重新定义。:【功能】等号语句“”与EQU语句具有相同功能,区别仅在于EQU左边的标号不允许重新定义,用“”定义的语句允许重复定义。LABEL:【功能】定义标号或变量的类型。段定义语句:SEGMENTENDS:【功能】定义一个逻辑段。段分配语句:ASSUME:【功能】 明确

11、段和段寄存器的关系。ASSUME CS:code, DS:data, ES:data语句中的code和data为段名。这个语句说明:CS将指向名字为code的代码段DS和ES将指向名字为data的数据段过程定义语句:PROCENDP:【功能】定义一个过程,主程序可以调用它。程序开始结束语句:ORG:【功能】给汇编程序设置位置指针,指定下面语句的起始偏移地址。END:【功能】标记汇编源程序结束。NAME:【功能】为源程序目标模块赋名字。12.8259A中IRR、IMR和ISR三个寄存器的含义。中断请求寄存器IRR:这是一个8位寄存器,用来存放由外部输入的中断请求信号IR7IR0。当某一个IRi端

12、呈现高电平时,该寄存器的相应位置“1”,显然最多允许8个中断请求信号同时进入,这时,IRR寄存器将被置成全“1”。中断屏蔽寄存器IMR:这是一个8位寄存器,用来存放对各级中断请求的屏蔽信息,当该寄存器中某一位置“1”时,表示禁止这一级中断请求进入系统,通过IMR寄存器可实现对各级中断的有选择的屏蔽。中断服务寄存器ISR:这是一个8位寄存器,用来记录正在处理中的中断请求,当任何一级中断被响应,CPU正在执行它的中断服务程序时,ISR寄存器中相应位置“1”,一直保持到该级中断处理过程结束为止。多重中断情况下,ISR寄存器中可有多位被同时置“1”。13. 中断向量表。掌握中断向量表的构成,计算中断类

13、型号,中断服务程序入口地址。中断的工作过程。中断向量表又称中断服务程序入口地址表。8086/8088系统允许处理256种类型的中断,对应类型号为0FFH。在存储器的00000H003FFH,占1K字节空间,用作存放中断向量。每个类型号对应的中断向量占4个字节,高2个字节存放中断入口地址的段地址,低2个字节存放段内偏移地址。可屏蔽中断处理的过程一般分成几步: 中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场;中断返回。14.对寄存器进行数据的读和写数据时,硬件电路通常有L门和E门,了解其含义和作用。三态门(E门)和装入门(L门)一样,都可加到任何寄存器(包括计数器和累加器)电路上去

14、。这样的寄存器就称为三态寄存器。L门专管对寄存器的装入数据的控制,而E门专管由寄存器输出数据的控制。15. 循环结构、顺序结构和分支结构编写小程序。比如大小写转换;从一组数中找到最大和最小的数;实现循环累加;求一个数的绝对值;查表法求一个十六进制数的ASCII码;统计一组数中满足一定条件的数的个数,等等。采用查表法,实现一位16进制数转换为ASCII码显示:;数据段ASCIIdb 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h;对应0 9的ASCII码db 41h,42h,43h,44h,45h,46h;对应A F的ASCII码hexdb 04h,0bh;假设两

15、个16进制数 ;代码段mov bx,offset ASCII;BX指向ASCII码表mov al, hex;AL取得一位16进制数;恰好就是ASCII码表中的位移and al, 0fh;只有低4位是有效的,高4位清0xlat ;换码:ALDS:BXALmov dl,al;欲显示的ASCII码送DLmov ah,2;2号DOS功能调用int 21h;显示一个ASCII码字符mov al,hex+1;转换并显示下一个数据and al,0fhxlatmov dl,almov ah,2int 21h设数组array由一些字量构成,其中第一个元素是数组元素个数。利用逐次比较方法。设置两个变量maxay和

16、minay存放最大和最小值:;数据段arraydw 10;假设一个数组,其中头个数据10表示元素个数dw -3,0,20,900,587,-632,777,234,-34,-56;这是一个有符号字量元素组成的数组maxaydw ?;存放最大值minaydw ?;存放最小值;代码段lea si,arraymov cx,si;取得元素个数dec cx;减1后是循环次数add si,2mov ax,si;取出第一个元素给AX,AX用于暂存最大值mov bx,ax;取出第一个元素给BX,BX用于暂存最小值maxck:add si,2cmp si,ax;与下一个数据比较jle minckmov ax,s

17、i;AX取得更大的数据jmp nextminck:cmp si,bxjge nextmov bx,si;BX取得更小的数据next:loop maxck;计数循环mov maxay,ax;保存最大值mov minay,bx;保存最小值16. IO接口地址的译码方法。访问存储器和访问IO接口的不同,地址线位数,需用指令等。译码方法:CPU讲用于I/O端口的地址线分为高位地址线和低位地址线,低位地址线实现片内寻址,高位地址线经译码电路产生I/O接口芯片的片选信号访问存储器需要十六根地址线,I/O需要20根17.8253的六种工作方式。重点掌握方式1、方式2和方式3.实验4,8253的使用,一定要熟

18、悉,会初始化编程,和计算计数初值。6种工作方式,由方式控制字确定: 方式0 计数结束中断; 方式1 可编程单稳脉冲: 硬件启动,不自动重复计数;装入初值后OUT端变高电平;计数开始OUT端变为低电平, 计数结束后又变高。方式2 频率发生器(分频器);方式3 方波发生器; 方式4 软件触发选通信号; 方式5 硬件触发选通信号;写入计数值:选择二进制时:计数值范围:0000HFFFFH;0000H是最大值,代表65536选择十进制(BCD码):计数值范围:00009999;0000代表最大值10000计数值写入计数器各自的I/O地址例:设8253芯片的端口地址为388H38BH。现要求计数器0工作

19、在方式3,计数初值为2354,十进制计数。MOVDX,38BH;给计数器0送控制字MOVAL,BOUTDX,ALMOVDX,388H;送计数初值的低8位MOVAL,54HOUTDX,ALMOVAL,23H;送计数初值的高8位OUTDX,AL 18.中断的概念。中断向量表的含义。深入理解8259的工作方式,优先权设置、中断结束处理、中断源屏蔽、中断触发等等。8259的初始化编程。中断服务程序编写。CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继

20、续执行,这一过程称为中断。8259A 的工作方式:1、中断优先级管理方式:普通全嵌套方式,特殊全嵌套方式,优先级自动循环方式,优先级特殊循环方式;2. 屏蔽中断源方式:普通屏蔽方式,特殊屏蔽方式,自动EOI结束方式,普通EOI方式,特殊EOI方式;3.中断结束方式:8259A利用中断服务寄存器ISR判断:某位为1,表示正在进行中断服务;该位为0,就是该中断结束服务。这里说明如何使ISR某位为0,不反映CPU的工作状态;4. 中断触发方式:边沿触发方式,电平触发方式;5. 数据线连接方式:缓冲方式,非缓冲方式。初始化编程:8259A开始工作前,必须进行初始化编程给8259A写入初始化命令字ICW

21、:初始化命令字ICW最多有4个;8259A在开始工作前必须写入;必须按照ICW1ICW4顺序写入;ICW1和ICW2是必须送的;ICW3和ICW4由工作方式决定。中断服务程序的编写 编写内部中断服务程序与编写子程序类似:利用过程定义伪指令PROC/ENDP; 第1条指令通常为开中断指令STI;最后用中断返回指令IRET;通常采用寄存器传递参数。主程序需要调用中断服务程序:调用前,需要设置中断向量;利用INT n指令调用中断服务程序。 MOV BL,'0' IRQ1: CLI ;以下是中服程序,开中断 INC BL ;下一个输出字符 MOV AL,BL MOV AH,1 INT

22、21H;输出字符 MOV AL,20H; OUT 20H,AL;中断结束字 STI;开中断 IRET;中断返回19.计算机主机和I/O设备之间进行数据传送的方法。重点掌握查询方式完成数据传送的流程,要会编程。无条件传送;查询传送: 查询传送的两个环节:查询环节:寻址状态口;读取状态寄存器的标志位;若不就绪就继续查询,直至就绪。传送环节:寻址数据口;是输入,通过输入指令从数据口读入数据;是输出,通过输出指令向数据口输出数据。 查询输入接口: mov dx,8000h;DX指向状态端口 status:in al,dx;读状态端口test al,01h;测试标志位D0jz status;D00,未就

23、绪,继续查询inc dx;D01,就绪,DX指向数据端口in al,dx;从数据端口输入数据查询输出接口: mov dx,8000h;DX指向状态端口 status:in al,dx;读取状态端口的状态数据test al,80h;测试标志位D7jnz status;D71,未就绪,继续查询inc dx;D70,就绪,DX指向数据端口mov al,buf;变量buf送ALout dx,al;将数据输出给数据端口中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传I/O寻址方式:8088/8086的端口

24、有64K个,无需分段,设计有两种寻址方式 直接寻址:只用于寻址00H FFH前256个端口,操作数i8表示端 口号 间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口 号对大于FFH的端口只能采用间接寻址方式20.8255A并行接口芯片控制一组开关和一组发光二极管,要求开关状态能控制二极管是否发光。8255A的初始化编程及相应的控制程序。(有难度,参考实验3的思考题)begin: mov dx,portc ; 8255 初始化 mov al,82h ; A组方式0,A口出,; B组方式0,B口入 out dx,al mov ah,0ffh mov bl,0lp: mov dx,portb ; B 口读入开关状态 in al,dx test al,ah ;与ffh比较,看是否8个开关全闭合(0信号) jz shift mov dx,porta ; A 口输出开关状态 not al out dx,al

温馨提示

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

评论

0/150

提交评论